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:
parent
90279074ca
commit
93d69d8691
@ -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 $<
|
||||
|
14
Documentation/fetch-options.txt
Normal file
14
Documentation/fetch-options.txt
Normal 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.
|
@ -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
|
||||
|
@ -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::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
|
||||
|
16
Documentation/merge-options.txt
Normal file
16
Documentation/merge-options.txt
Normal 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).
|
||||
|
@ -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).
|
@ -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
12
git-pull.sh
Executable file → Normal 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
|
||||
|
Loading…
Reference in New Issue
Block a user