From: Jon Loeliger <jdl@freescale.com>
To: git@vger.kernel.org
Subject: [PATCH] Refactored merge options into separate merge-options.txt.
Date: Sun, 06 Nov 2005 23:30:56 -0600 [thread overview]
Message-ID: <E1EYzaq-0003py-6f@jdl.com> (raw)
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>
---
Documentation/Makefile | 23 +++++++++++++----------
Documentation/fetch-options.txt | 14 ++++++++++++++
Documentation/git-fetch.txt | 16 ++++------------
Documentation/git-merge.txt | 2 +-
Documentation/git-pull.txt | 17 +++++++----------
Documentation/merge-options.txt | 16 ++++++++++++++++
Documentation/merge-pull-opts.txt | 14 --------------
git-format-patch.sh | 4 ++++
git-pull.sh | 12 +++++++++++-
9 files changed, 70 insertions(+), 48 deletions(-)
create mode 100644 Documentation/fetch-options.txt
create mode 100644 Documentation/merge-options.txt
delete mode 100644 Documentation/merge-pull-opts.txt
mode change 100755 => 100644 git-pull.sh
applies-to: ba0221fabc6d203e08fbe63442e816ed84193bb1
2cf02ee5ec5f3b5ecaec5a80399988661ea5117b
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 741f14c..b8f62cb 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -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)
+
+%.dep : %.txt
+ @rm -rf $@
+ @$(foreach dep, $(shell grep include:: $< | sed -e 's/include::/ /' -e 's/\[\]//'), \
+ echo $(<:%.txt=%.html) $(<:%.txt=%.1) : $(dep) >> $@; )
-$(patsubst %,%.1,git-merge git-pull): merge-pull-opts.txt
-$(patsubst %,%.html,git-merge git-pull): merge-pull-opts.txt
+-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 $<
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
new file mode 100644
index 0000000..12d12b2
--- /dev/null
+++ b/Documentation/fetch-options.txt
@@ -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.
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index 73f8a99..438240c 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -8,7 +8,7 @@ git-fetch - Download objects and a head
SYNOPSIS
--------
-'git-fetch' <repository> <refspec>...
+'git-fetch' <options> <repository> <refspec>...
DESCRIPTION
@@ -17,24 +17,16 @@ Fetches named heads or tags from another
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
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index b3ef19b..904e2fc 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -19,7 +19,7 @@ which drives multiple merge strategy scr
OPTIONS
-------
-include::merge-pull-opts.txt[]
+include::merge-options.txt[]
<msg>::
The commit message to be used for the merge commit (in case
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 7ebb08d..c65ca9a 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -20,21 +20,18 @@ Note that you can use `.` (current direc
<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
$ 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
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
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
new file mode 100644
index 0000000..eebaf3a
--- /dev/null
+++ b/Documentation/merge-options.txt
@@ -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
index d9164a0..0000000
--- a/Documentation/merge-pull-opts.txt
+++ /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).
diff --git a/git-format-patch.sh b/git-format-patch.sh
index b43ba39..548d2d5 100755
--- a/git-format-patch.sh
+++ b/git-format-patch.sh
@@ -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.
;;
diff --git a/git-pull.sh b/git-pull.sh
old mode 100755
new mode 100644
index e23d4f5..2358af6
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -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
---
0.99.9.GIT
reply other threads:[~2005-11-07 5:31 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1EYzaq-0003py-6f@jdl.com \
--to=jdl@freescale.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.