提交 93d69d86 编写于 作者: J Jon Loeliger 提交者: Junio C Hamano

Refactored merge options into separate merge-options.txt.

Refactored fetch options into separate fetch-options.txt.
Made git-merge use merge-options.
Made git-fetch use fetch-options.
Made git-pull use merge-options and fetch-options.
Added --help option to git-pull and git-format-patch scripts.
Rewrote Documentation/Makefile to dynamically determine
include dependencies.
Signed-off-by: NJon Loeliger <jdl@freescale.com>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 90279074
......@@ -49,22 +49,25 @@ install: man
$(INSTALL) $(DOC_MAN1) $(DESTDIR)/$(man1)
$(INSTALL) $(DOC_MAN7) $(DESTDIR)/$(man7)
# 'include' dependencies
$(patsubst %.txt,%.1,$(wildcard git-diff-*.txt)): \
diff-format.txt diff-options.txt
$(patsubst %.txt,%.html,$(wildcard git-diff-*.txt)): \
diff-format.txt diff-options.txt
$(patsubst %,%.1,git-fetch git-pull git-push): pull-fetch-param.txt
$(patsubst %,%.html,git-fetch git-pull git-push): pull-fetch-param.txt
#
# Determine "include::" file references in asciidoc files.
#
TEXTFILES = $(wildcard *.txt)
DEPFILES = $(TEXTFILES:%.txt=%.dep)
$(patsubst %,%.1,git-merge git-pull): merge-pull-opts.txt
$(patsubst %,%.html,git-merge git-pull): merge-pull-opts.txt
%.dep : %.txt
@rm -f $@
@$(foreach dep, $(shell grep include:: $< | sed -e 's/include::/ /' -e 's/\[\]//'), \
echo $(<:%.txt=%.html) $(<:%.txt=%.1) : $(dep) >> $@; )
-include $(DEPFILES)
git.7: ../README
clean:
rm -f *.xml *.html *.1 *.7 howto-index.txt howto/*.html
rm -f *.xml *.html *.1 *.7 howto-index.txt howto/*.html *.dep
%.html : %.txt
asciidoc -b xhtml11 -d manpage -f asciidoc.conf $<
......
-a, \--append::
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.
-f, \--force::
-t, \--tags::
-u, \--update-head-ok::
By default `git-fetch` refuses to update the head which
corresponds to the current branch. This flag disables the
check. Note that fetching into the current branch will not
update the index and working directory, so use it with care.
......@@ -8,7 +8,7 @@ git-fetch - Download objects and a head from another repository.
SYNOPSIS
--------
'git-fetch' <repository> <refspec>...
'git-fetch' <options> <repository> <refspec>...
DESCRIPTION
......@@ -17,24 +17,16 @@ Fetches named heads or tags from another repository, along with
the objects necessary to complete them.
The ref names and their object names of fetched refs are stored
in $GIT_DIR/FETCH_HEAD. This information is left for a later merge
in `.git/FETCH_HEAD`. This information is left for a later merge
operation done by "git resolve" or "git octopus".
OPTIONS
-------
include::pull-fetch-param.txt[]
include::fetch-options.txt[]
-a, \--append::
Append ref names and object names of fetched refs to the
existing contents of $GIT_DIR/FETCH_HEAD. Without this
option old data in $GIT_DIR/FETCH_HEAD will be overwritten.
include::pull-fetch-param.txt[]
-u, \--update-head-ok::
By default 'git-fetch' refuses to update the head which
corresponds to the current branch. This flag disables the
check. Note that fetching into the current branch will not
update the index and working directory, so use it with care.
SEE ALSO
......
......@@ -19,7 +19,7 @@ which drives multiple merge strategy scripts.
OPTIONS
-------
include::merge-pull-opts.txt[]
include::merge-options.txt[]
<msg>::
The commit message to be used for the merge commit (in case
......
......@@ -20,21 +20,18 @@ Note that you can use `.` (current directory) as the
<repository> to pull from the local repository -- this is useful
when merging local branches into the current branch.
OPTIONS
-------
include::pull-fetch-param.txt[]
include::merge-options.txt[]
-a, \--append::
Append ref names and object names of fetched refs to the
existing contents of `$GIT_DIR/FETCH_HEAD`. Without this
option old data in `$GIT_DIR/FETCH_HEAD` will be overwritten.
include::fetch-options.txt[]
include::merge-pull-opts.txt[]
include::pull-fetch-param.txt[]
include::merge-strategies.txt[]
EXAMPLES
--------
......@@ -72,7 +69,7 @@ $ git fetch origin master:origin +pu:pu maint:maint
$ git pull . origin
------------------------------------------------
+
Here, a typical `$GIT_DIR/remotes/origin` file from a
Here, a typical `.git/remotes/origin` file from a
`git-clone` operation is used in combination with
command line options to `git-fetch` to first update
multiple branches of the local repository and then
......@@ -85,7 +82,7 @@ known to have already obtained and made available
all the necessary objects.
Pull of multiple branches from one repository using `$GIT_DIR/remotes` file::
Pull of multiple branches from one repository using `.git/remotes` file::
+
------------------------------------------------
$ cat .git/remotes/origin
......@@ -98,7 +95,7 @@ $ git checkout master
$ git pull origin
------------------------------------------------
+
Here, a typical `$GIT_DIR/remotes/origin` file from a
Here, a typical `.git/remotes/origin` file from a
`git-clone` operation has been hand-modified to include
the branch-mapping of additional remote and local
heads directly. A single `git-pull` operation while
......
-n, --no-summary::
-n, \--no-summary::
Do not show diffstat at the end of the merge.
--no-commit::
......@@ -6,9 +6,11 @@
not autocommit, to give the user a chance to inspect and
further tweak the merge result before committing.
-s <strategy>::
use that merge strategy; can be given more than once to
specify them in the order they should be tried. If
there is no `-s` option, built-in list of strategies is
used instead (`git-merge-resolve` when merging a single
-s <strategy>, \--strategy=<strategy>::
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-resolve` when merging a single
head, `git-merge-octopus` otherwise).
......@@ -8,6 +8,7 @@
usage () {
echo >&2 "usage: $0"' [-n] [-o dir | --stdout] [--keep-subject] [--mbox]
[--check] [--signoff] [-<diff options>...]
[--help]
( from..to ... | upstream [ our-head ] )
Prepare each commit with its patch since our-head forked from upstream,
......@@ -63,6 +64,9 @@ do
--output-directo|--output-director|--output-directory)
case "$#" in 1) usage ;; esac; shift
outdir="$1" ;;
-h|--h|--he|--hel|--help)
usage
;;
-*' '* | -*"$LF"* | -*' '*)
# Ignore diff option that has whitespace for now.
;;
......
......@@ -7,7 +7,14 @@
. git-sh-setup || die "Not a git archive"
usage () {
die "git pull [-n] [--no-commit] [-s strategy]... <repo> <head>..."
echo >&2 "usage: $0"' [-n] [--no-commit] [--no-summary] [--help]
[-s strategy]...
[<fetch-options>]
<repo> <head>...
Fetch one or more remote refs and merge it/them into the current HEAD.
'
exit 1
}
strategy_args= no_summary= no_commit=
......@@ -33,6 +40,9 @@ do
esac
strategy_args="${strategy_args}-s $strategy "
;;
-h|--h|--he|--hel|--help)
usage
;;
-*)
# Pass thru anything that is meant for fetch.
break
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册