Refactored merge options into separate merge-options.txt.
authorJon Loeliger <jdl@freescale.com>
Mon, 7 Nov 2005 05:30:56 +0000 (23:30 -0600)
committerJunio C Hamano <junkio@cox.net>
Mon, 7 Nov 2005 07:32:04 +0000 (23:32 -0800)
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>
Documentation/Makefile
Documentation/fetch-options.txt [new file with mode: 0644]
Documentation/git-fetch.txt
Documentation/git-merge.txt
Documentation/git-pull.txt
Documentation/merge-options.txt [new file with mode: 0644]
Documentation/merge-pull-opts.txt [deleted file]
git-format-patch.sh
git-pull.sh [changed mode: 0755->0644]

index 741f14c..bb9533f 100644 (file)
@@ -49,22 +49,25 @@ install: man
        $(INSTALL) $(DOC_MAN1) $(DESTDIR)/$(man1)
        $(INSTALL) $(DOC_MAN7) $(DESTDIR)/$(man7)
 
        $(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
 
 
 git.7: ../README
 
+
 clean:
 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 $<
 
 %.html : %.txt
        asciidoc -b xhtml11 -d manpage -f asciidoc.conf $<
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
new file mode 100644 (file)
index 0000000..12d12b2
--- /dev/null
@@ -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.
index 73f8a99..438240c 100644 (file)
@@ -8,7 +8,7 @@ git-fetch - Download objects and a head from another repository.
 
 SYNOPSIS
 --------
 
 SYNOPSIS
 --------
-'git-fetch' <repository> <refspec>...
+'git-fetch' <options> <repository> <refspec>...
 
 
 DESCRIPTION
 
 
 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
 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
 -------
 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
 
 
 SEE ALSO
index b3ef19b..904e2fc 100644 (file)
@@ -19,7 +19,7 @@ which drives multiple merge strategy scripts.
 
 OPTIONS
 -------
 
 OPTIONS
 -------
-include::merge-pull-opts.txt[]
+include::merge-options.txt[]
 
 <msg>::
        The commit message to be used for the merge commit (in case
 
 <msg>::
        The commit message to be used for the merge commit (in case
index 7ebb08d..c65ca9a 100644 (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.
 
 <repository> to pull from the local repository -- this is useful
 when merging local branches into the current branch.
 
+
 OPTIONS
 -------
 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[]
 
 
 
 include::merge-strategies.txt[]
 
 
-
 EXAMPLES
 --------
 
 EXAMPLES
 --------
 
@@ -72,7 +69,7 @@ $ git fetch origin master:origin +pu:pu maint:maint
 $ git pull . origin
 ------------------------------------------------
 +
 $ 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
 `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.
 
 
 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
 +
 ------------------------------------------------
 $ cat .git/remotes/origin
@@ -98,7 +95,7 @@ $ git checkout master
 $ git pull origin
 ------------------------------------------------
 +
 $ 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
 `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
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
new file mode 100644 (file)
index 0000000..eebaf3a
--- /dev/null
@@ -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).
+
diff --git a/Documentation/merge-pull-opts.txt b/Documentation/merge-pull-opts.txt
deleted file mode 100644 (file)
index d9164a0..0000000
+++ /dev/null
@@ -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).
index b43ba39..548d2d5 100755 (executable)
@@ -8,6 +8,7 @@
 usage () {
     echo >&2 "usage: $0"' [-n] [-o dir | --stdout] [--keep-subject] [--mbox]
     [--check] [--signoff] [-<diff options>...]
 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,
     ( 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" ;;
     --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.
        ;;
     -*' '* | -*"$LF"* | -*'    '*)
        # Ignore diff option that has whitespace for now.
        ;;
old mode 100755 (executable)
new mode 100644 (file)
index e23d4f5..2358af6
@@ -7,7 +7,14 @@
 . git-sh-setup || die "Not a git archive"
 
 usage () {
 . 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=
 }
 
 strategy_args= no_summary= no_commit=
@@ -33,6 +40,9 @@ do
                esac
                strategy_args="${strategy_args}-s $strategy "
                ;;
                esac
                strategy_args="${strategy_args}-s $strategy "
                ;;
+       -h|--h|--he|--hel|--help)
+               usage
+               ;;
        -*)
                # Pass thru anything that is meant for fetch.
                break
        -*)
                # Pass thru anything that is meant for fetch.
                break