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: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Jon Loeliger 2005-11-06 23:30:56 -06:00 committed by Junio C Hamano
parent 90279074ca
commit 93d69d8691
9 changed files with 71 additions and 49 deletions

View file

@ -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 $<

View file

@ -0,0 +1,14 @@
-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.

View file

@ -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::fetch-options.txt[]
include::pull-fetch-param.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.
-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

View file

@ -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

View file

@ -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::merge-options.txt[]
include::fetch-options.txt[]
include::pull-fetch-param.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::merge-pull-opts.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

View file

@ -0,0 +1,16 @@
-n, \--no-summary::
Do not show diffstat at the end of the merge.
--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.
-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).

View file

@ -1,14 +0,0 @@
-n, --no-summary::
Do not show diffstat at the end of the merge.
--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.
-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
head, `git-merge-octopus` otherwise).

View file

@ -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.
;;

12
git-pull.sh Executable file → Normal file
View file

@ -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