diff options
-rw-r--r-- | Documentation/git-archimport-script.txt | 42 | ||||
-rw-r--r-- | Documentation/git-build-rev-cache.txt | 20 | ||||
-rw-r--r-- | Documentation/git-checkout-script.txt | 23 | ||||
-rw-r--r-- | Documentation/git-parse-remote-script.txt | 48 | ||||
-rw-r--r-- | Documentation/git-reset-script.txt | 25 | ||||
-rw-r--r-- | Documentation/git-rev-parse.txt | 65 | ||||
-rw-r--r-- | Documentation/git-show-rev-cache.txt | 19 | ||||
-rw-r--r-- | Documentation/git.txt | 52 | ||||
-rw-r--r-- | Makefile | 49 | ||||
-rwxr-xr-x | git | 4 | ||||
-rwxr-xr-x | git-applymbox (renamed from tools/git-applymbox) | 0 | ||||
-rwxr-xr-x | git-applypatch (renamed from tools/git-applypatch) | 0 | ||||
-rw-r--r-- | mailinfo.c (renamed from tools/mailinfo.c) | 4 | ||||
-rw-r--r-- | mailsplit.c (renamed from tools/mailsplit.c) | 0 | ||||
-rw-r--r-- | tools/.gitignore | 2 | ||||
-rw-r--r-- | tools/Makefile | 25 |
16 files changed, 268 insertions, 110 deletions
diff --git a/Documentation/git-archimport-script.txt b/Documentation/git-archimport-script.txt new file mode 100644 index 0000000000..134fbedd9b --- /dev/null +++ b/Documentation/git-archimport-script.txt @@ -0,0 +1,42 @@ +git-archimport-script(1) +======================== + +NAME +---- +git-archimport-script - Import an arch repository into git + + +SYNOPSIS +-------- +`git-archimport-script` [--option...] <args> + +DESCRIPTION +----------- +The script expects you to provide the key roots where it can start the +import from an 'initial import' or 'tag' type of Arch commit. It will +then follow all the branching and tagging within the provided roots. + +It will die if it sees branches that have different roots. + + +OPTIONS +------- +--option:: + Some option not yet documented. + +<args>...:: + Some argument not yet documented. + + +Author +------ +Written by Martin Langhoff <martin@catalyst.net.nz>. + +Documentation +-------------- +Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. + +GIT +--- +Part of the link:git.html[git] suite + diff --git a/Documentation/git-build-rev-cache.txt b/Documentation/git-build-rev-cache.txt index b199cf9ddb..1dbad7763f 100644 --- a/Documentation/git-build-rev-cache.txt +++ b/Documentation/git-build-rev-cache.txt @@ -3,26 +3,26 @@ git-build-rev-cache(1) NAME ---- -git-build-rev-cache - Some git command not yet documented. - +git-build-rev-cache - Create or update a rev-cache file. SYNOPSIS -------- -'git-build-rev-cache' [ --option ] <args>... +'git-build-rev-cache' [-v] <rev-cache-file> < list-of-heads DESCRIPTION ----------- -Does something not yet documented. - +Creates or updates a file that describes the commit ancestry reachable +from the list-of-head read from stdin. This file is in an append-only +binary format to make the server side friendly to rsync mirroring +scheme, and can be read by the git-show-rev-cache command. OPTIONS ------- ---option:: - Some option not yet documented. - -<args>...:: - Some argument not yet documented. +-v:: + Verbose. +<rev-cache-file>:: + The rev-cache to operate on. Author ------ diff --git a/Documentation/git-checkout-script.txt b/Documentation/git-checkout-script.txt index ca469ece73..52831abd19 100644 --- a/Documentation/git-checkout-script.txt +++ b/Documentation/git-checkout-script.txt @@ -3,26 +3,31 @@ git-checkout-script(1) NAME ---- -git-checkout-script - Some git command not yet documented. - +git-checkout-script - Checkout and switch to a branch. SYNOPSIS -------- -'git-checkout-script' [ --option ] <args>... +'git-checkout-script' [-f] [-b <new_branch>] [<branch>] DESCRIPTION ----------- -Does something not yet documented. - +Updates the index and working tree to reflect the specified branch, +<branch>. Updates HEAD to be <branch> or, if specified, <new_branch>. OPTIONS ------- ---option:: - Some option not yet documented. +-f:: + Force an re-read of everything. + +-b:: + Create a new branch and start it at <branch>. -<args>...:: - Some argument not yet documented. +<new_branch>:: + Name for the new branch. +<branch>:: + Branch to checkout; may be any object ID that resolves to a + commit. Defaults to HEAD. Author ------ diff --git a/Documentation/git-parse-remote-script.txt b/Documentation/git-parse-remote-script.txt new file mode 100644 index 0000000000..d6e551f71b --- /dev/null +++ b/Documentation/git-parse-remote-script.txt @@ -0,0 +1,48 @@ +git-parse-remote-script(1) +========================== + +NAME +---- +git-parse-remote-script - Routines to help parsing $GIT_DIR/remotes/ + + +SYNOPSIS +-------- +'. git-parse-remote-script' + +DESCRIPTION +----------- +This script is included in various scripts to supply +routines to parse files under $GIT_DIR/remotes/ and +$GIT_DIR/branches/. + +The primary entry points are: + +get_remote_refs_for_fetch:: + Given the list of user-supplied `<repo> <refspec>...`, + return the list of refs to fetch after canonicalizing + them into `$GIT_DIR` relative paths + (e.g. `refs/heads/foo`). When `<refspec>...` is empty + the returned list of refs consists of the defaults + for the given `<repo>`, if specified in + `$GIT_DIR/remotes/` or `$GIT_DIR/branches/`. + +get_remote_refs_for_push:: + Given the list of user-supplied `<repo> <refspec>...`, + return the list of refs to push in a form suitable to be + fed to the `git-send-pack` command. When `<refspec>...` + is empty the returned list of refs consists of the + defaults for the given `<repo>`, if specified in + `$GIT_DIR/remotes/`. + +Author +------ +Written by Junio C Hamano. + +Documentation +-------------- +Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. + +GIT +--- +Part of the link:git.html[git] suite diff --git a/Documentation/git-reset-script.txt b/Documentation/git-reset-script.txt index 2c12f59e96..18bd9e93d5 100644 --- a/Documentation/git-reset-script.txt +++ b/Documentation/git-reset-script.txt @@ -3,26 +3,33 @@ git-reset-script(1) NAME ---- -git-reset-script - Some git command not yet documented. - +git-reset-script - Reset current HEAD to the specified state. SYNOPSIS -------- -'git-reset-script' [ --option ] <args>... +'git-reset-script' [--mixed | --soft | --hard] [<commit-ish>] DESCRIPTION ----------- -Does something not yet documented. - +Sets the current head to the specified commit and optionally resets the +index and working tree to match. OPTIONS ------- ---option:: - Some option not yet documented. +--mixed:: + Like --soft but reports what has not been updated. This is the + default action. + +--soft:: + Does not touch the index file nor the working tree at all, but + requires them in a good order. -<args>...:: - Some argument not yet documented. +--hard:: + Matches the working tree and index to that of the tree being + switched to. +<commit-ish>:: + Commit to make the current HEAD. Author ------ diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index 592c2bd832..fa64c5a561 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -3,7 +3,7 @@ git-rev-parse(1) NAME ---- -git-rev-parse - Some git command not yet documented. +git-rev-parse - Pick out and massage parameters. SYNOPSIS @@ -12,21 +12,74 @@ SYNOPSIS DESCRIPTION ----------- -Does something not yet documented. + +Many git Porcelainish commands take mixture of flags +(i.e. parameters that begin with a dash '-') and parameters +meant for underlying `git-rev-list` command they use internally +and flags and parameters for other commands they use as the +downstream of `git-rev-list`. This command is used to +distinguish between them. OPTIONS ------- ---option:: - Some option not yet documented. +--revs-only:: + Do not output flags and parameters not meant for + `git-rev-list` command. + +--no-revs:: + Do not output flags and parameters meant for + `git-rev-list` command. + +--flags:: + Do not output non-flag parameters. + +--no-flags:: + Do not output flag parameters. + +--default <arg>:: + If there is no parameter given by the user, use `<arg>` + instead. + +--verify:: + The parameter given must be usable as a single, valid + object name. Otherwise barf and abort. + +--sq:: + Usually the output is made one line per flag and + parameter. This option makes output a single line, + properly quoted for consumption by shell. Useful when + you expect your parameter to contain whitespaces and + newlines (e.g. when using pickaxe `-S` with + `git-diff-\*`). + +--not:: + When showing object names, prefix them with '^' and + strip '^' prefix from the object names that already have + one. + +--symbolic:: + Usually the object names are output in SHA1 form (with + possible '^' prefix); this option makes them output in a + form as close to the original input as possible. + + +--all:: + Show all refs found in `$GIT_DIR/refs`. + +--show-prefix:: + When the command is invoked from a directory show the + path of the current directory relative to the top-level + directory. <args>...:: - Some argument not yet documented. + Flags and parameters to be parsed. Author ------ -Written by Linus Torvalds <torvalds@osdl.org> and Junio C Hamano <junkio@cox.net> +Written by Linus Torvalds <torvalds@osdl.org> and +Junio C Hamano <junkio@cox.net> Documentation -------------- diff --git a/Documentation/git-show-rev-cache.txt b/Documentation/git-show-rev-cache.txt index 48f1ca3de2..104ecb7b0f 100644 --- a/Documentation/git-show-rev-cache.txt +++ b/Documentation/git-show-rev-cache.txt @@ -3,26 +3,25 @@ git-show-rev-cache(1) NAME ---- -git-show-rev-cache - Some git command not yet documented. - +git-show-rev-cache - Show the contents of a rev-cache file. SYNOPSIS -------- -'git-show-rev-cache' [ --option ] <args>... +'git-show-rev-cache' <rev-cache-file> DESCRIPTION ----------- -Does something not yet documented. +Show the contents of <rev-cache-file>. +A rev-cache file describes the commit ancestry reachable from references +supplied as input to get-build-rev-cache. This file is in an +append-only binary format to make the server side friendly to rsync +mirroring scheme. OPTIONS ------- ---option:: - Some option not yet documented. - -<args>...:: - Some argument not yet documented. - +<rev-cache-file>:: + Rev-cache file to display. Author ------ diff --git a/Documentation/git.txt b/Documentation/git.txt index b10edffe48..fd5108c322 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -209,6 +209,9 @@ link:git-bisect-script.html[git-bisect-script]:: link:git-branch-script.html[git-branch-script]:: Create and Show branches. +link:git-checkout-script.html[git-checkout-script]:: + Checkout and switch to a branch. + link:git-cherry-pick-script.html[git-cherry-pick-script]:: Cherry-pick the effect of an existing commit. @@ -245,6 +248,9 @@ link:git-rename-script.html[git-rename]:: link:git-repack-script.html[git-repack-script]:: Pack unpacked objects in a repository. +link:git-reset-script.html[git-reset-script]:: + Reset current HEAD to the specified state. + link:git-resolve-script.html[git-resolve-script]:: Merge two commits. @@ -274,6 +280,9 @@ Manipulators: link:git-applypatch.html[git-applypatch]:: Apply one patch extracted from an e-mail. +link:git-archimport-script.html[git-archimport-script]:: + Import an arch repository into git. + link:git-convert-cache.html[git-convert-cache]:: Converts old-style GIT repository @@ -298,15 +307,24 @@ link:git-tag-script.html[git-tag-script]:: Interrogators: +link:git-build-rev-cache.html[git-build-rev-cache]:: + Create or update a rev-cache file. + link:git-cherry.html[git-cherry]:: Find commits not merged upstream. link:git-count-objects-script.html[git-count-objects-script]:: Count unpacked number of objects and their disk consumption. +link:git-daemon.html[git-daemon]:: + A really simple server for GIT repositories. + link:git-diff-helper.html[git-diff-helper]:: Generates patch format output for git-diff-* +link:git-get-tar-commit-id.html[git-get-tar-commit-id]:: + Extract commit ID from an archive created using git-tar-tree. + link:git-mailinfo.html[git-mailinfo]:: Extracts patch from a single e-mail message. @@ -316,42 +334,30 @@ link:git-mailsplit.html[git-mailsplit]:: link:git-patch-id.html[git-patch-id]:: Compute unique ID for a patch. +link:git-parse-remote-script.html[git-parse-remote-script]:: + Routines to help parsing $GIT_DIR/remotes/ + +link:git-request-pull-script.html[git-request-pull-script]:: + git-request-pull-script. + +link:git-rev-parse.html[git-rev-parse]:: + Pick out and massage parameters. + link:git-send-email-script.html[git-send-email]:: Send patch e-mails out of "format-patch --mbox" output. -link:git-get-tar-commit-id.html[git-get-tar-commit-id]:: - Extract commit ID from an archive created using git-tar-tree. +link:git-show-rev-cache.html[git-show-rev-cache]:: + Show the contents of a rev-cache file. Commands not yet documented --------------------------- -link:git-build-rev-cache.html[git-build-rev-cache]:: - git-build-rev-cache. - -link:git-checkout-script.html[git-checkout-script]:: - git-checkout-script. - -link:git-daemon.html[git-daemon]:: - git-daemon. - link:git-diff-script.html[git-diff-script]:: git-diff-script. link:git-format-patch-script.html[git-format-patch-script]:: git-format-patch-script. -link:git-request-pull-script.html[git-request-pull-script]:: - git-request-pull-script. - -link:git-reset-script.html[git-reset-script]:: - git-reset-script. - -link:git-rev-parse.html[git-rev-parse]:: - git-rev-parse. - -link:git-show-rev-cache.html[git-show-rev-cache]:: - git-show-rev-cache. - link:git-stripspace.html[git-stripspace]:: git-stripspace. @@ -11,7 +11,9 @@ # # Define PPC_SHA1 environment variable when running make to make use of # a bundled SHA1 routine optimized for PowerPC. - +# +# Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin). +# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin). # Define COLLISION_CHECK below if you believe that SHA1's # 1461501637330902918203684832716283019655932542976 hashes do not give you @@ -66,13 +68,20 @@ SCRIPTS=git git-merge-one-file-script git-prune-script \ git-format-patch-script git-sh-setup-script git-push-script \ git-branch-script git-parse-remote-script git-verify-tag-script \ git-ls-remote-script git-rename-script \ - git-request-pull-script git-bisect-script + git-request-pull-script git-bisect-script \ + git-applymbox git-applypatch SCRIPTS += git-count-objects-script SCRIPTS += git-revert-script SCRIPTS += git-octopus-script SCRIPTS += git-archimport-script +# The ones that do not have to link with lcrypto nor lz. +SIMPLE_PROGRAMS = \ + git-get-tar-commit-id git-mailinfo git-mailsplit git-stripspace \ + git-daemon git-var + +# ... and all the rest PROG= git-update-cache git-diff-files git-init-db git-write-tree \ git-read-tree git-commit-tree git-cat-file git-fsck-cache \ git-checkout-cache git-diff-tree git-rev-tree git-ls-files \ @@ -80,12 +89,13 @@ PROG= git-update-cache git-diff-files git-init-db git-write-tree \ git-unpack-file git-export git-diff-cache git-convert-cache \ git-ssh-push git-ssh-pull git-rev-list git-mktag \ git-diff-helper git-tar-tree git-local-pull git-hash-object \ - git-get-tar-commit-id git-apply git-stripspace \ + git-apply \ git-diff-stages git-rev-parse git-patch-id git-pack-objects \ git-unpack-objects git-verify-pack git-receive-pack git-send-pack \ git-prune-packed git-fetch-pack git-upload-pack git-clone-pack \ - git-show-index git-daemon git-var git-peek-remote git-show-branch \ - git-update-server-info git-show-rev-cache git-build-rev-cache + git-show-index git-peek-remote git-show-branch \ + git-update-server-info git-show-rev-cache git-build-rev-cache \ + $(SIMPLE_PROGRAMS) ifdef WITH_SEND_EMAIL SCRIPTS += git-send-email-script @@ -126,6 +136,11 @@ LIB_OBJS += server-info.o LIBS = $(LIB_FILE) LIBS += -lz +ifeq ($(shell uname -s),Darwin) + NEEDS_SSL_WITH_CRYPTO = YesPlease + NEEDS_LIBICONV = YesPlease +endif + ifndef NO_OPENSSL LIB_OBJS += epoch.o OPENSSL_LIBSSL=-lssl @@ -134,6 +149,16 @@ else MOZILLA_SHA1=1 OPENSSL_LIBSSL= endif +ifdef NEEDS_SSL_WITH_CRYPTO + LIB_4_CRYPTO = -lcrypto -lssl +else + LIB_4_CRYPTO = -lcrypto +endif +ifdef NEEDS_LIBICONV + LIB_4_ICONV = -liconv +else + LIB_4_ICONV = +endif ifdef MOZILLA_SHA1 SHA1_HEADER="mozilla-sha1/sha1.h" LIB_OBJS += mozilla-sha1/sha1.o @@ -143,11 +168,7 @@ else LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o else SHA1_HEADER=<openssl/sha.h> - ifeq ($(shell uname -s),Darwin) - LIBS += -lcrypto -lssl - else - LIBS += -lcrypto - endif + LIBS += $(LIB_4_CRYPTO) endif endif @@ -161,7 +182,6 @@ all: $(PROG) all: $(MAKE) -C templates - $(MAKE) -C tools %.o: %.c $(CC) -o $*.o -c $(ALL_CFLAGS) $< @@ -171,6 +191,11 @@ all: git-%: %.o $(LIB_FILE) $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) +git-mailinfo : SIMPLE_LIB += $(LIB_4_ICONV) +$(SIMPLE_PROGRAMS) : $(LIB_FILE) +$(SIMPLE_PROGRAMS) : git-% : %.o + $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIB_FILE) $(SIMPLE_LIB) + git-http-pull: pull.o git-local-pull: pull.o git-ssh-pull: rsh.o pull.o @@ -218,7 +243,6 @@ install: $(PROG) $(SCRIPTS) $(INSTALL) $(PROG) $(SCRIPTS) $(DESTDIR)$(bindir) $(INSTALL) git-revert-script $(DESTDIR)$(bindir)/git-cherry-pick-script $(MAKE) -C templates install - $(MAKE) -C tools install install-doc: $(MAKE) -C Documentation install @@ -258,7 +282,6 @@ clean: rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc rm -f git-tk_$(GIT_VERSION)-*.deb - $(MAKE) -C tools/ clean $(MAKE) -C Documentation/ clean $(MAKE) -C templates/ clean $(MAKE) -C t/ clean @@ -17,6 +17,4 @@ else echo " git commands are:" fi -alternatives=$(cd $path && - ls git-*-script | sed -e 's/git-//' -e 's/-script//') -echo $alternatives | fmt | sed 's/^/ /' +ls $path | sed -ne 's/^git-\(.*\)-script/ \1/p' | fmt diff --git a/tools/git-applymbox b/git-applymbox index e58bb21467..e58bb21467 100755 --- a/tools/git-applymbox +++ b/git-applymbox diff --git a/tools/git-applypatch b/git-applypatch index e5bc3c0a77..e5bc3c0a77 100755 --- a/tools/git-applypatch +++ b/git-applypatch diff --git a/tools/mailinfo.c b/mailinfo.c index ef2add7ace..df470bb9c2 100644 --- a/tools/mailinfo.c +++ b/mailinfo.c @@ -152,6 +152,10 @@ static int handle_subcontent_type(char *line) /* We do not want to mess with boundary. Note that we do not * handle nested multipart. */ + if (strcasestr(line, "boundary=")) { + fprintf(stderr, "Not handling nested multipart message.\n"); + exit(1); + } slurp_attr(line, "charset=", charset); if (*charset) { int i, c; diff --git a/tools/mailsplit.c b/mailsplit.c index a3238c20da..a3238c20da 100644 --- a/tools/mailsplit.c +++ b/mailsplit.c diff --git a/tools/.gitignore b/tools/.gitignore deleted file mode 100644 index d1ea9ea306..0000000000 --- a/tools/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -git-mailinfo -git-mailsplit diff --git a/tools/Makefile b/tools/Makefile deleted file mode 100644 index 5cc6d14ebc..0000000000 --- a/tools/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -# -# Make Linus git-tools -# -CC=gcc -CFLAGS = -O2 -g -Wall -ALL_CFLAGS = $(CFLAGS) -INSTALL=install -prefix=$(HOME) -bindir=$(prefix)/bin -# DESTDIR= - -PROGRAMS=git-mailsplit git-mailinfo -SCRIPTS=git-applymbox git-applypatch - -git-%: %.c - $(CC) $(ALL_CFLAGS) -o $@ $(filter %.c,$^) - -all: $(PROGRAMS) - -install: $(PROGRAMS) $(SCRIPTS) - $(INSTALL) -m755 -d $(DESTDIR)$(bindir) - $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir) - -clean: - rm -f $(PROGRAMS) *.o |