Go to file
Mark Levedahl ec05df353c git-submodule - make "submodule add" more strict, and document it
This change makes "submodule add" much more strict in the arguments it
takes, and is intended to address confusion as recently noted on the
git-list. With this change, the required syntax is:

	$ git submodule add URL path

Specifically, this eliminates the form

	$ git submodule add URL

which was confused by more than one person as

	$ git submodule add path

With this patch, the URL locating the submodule's origin repository can be
either an absolute URL, or (if it begins with ./ or ../) can express the
submodule's repository location relative to the superproject's origin.

This patch also eliminates a third form of URL, which was relative to the
superproject's top-level directory (not its repository).  Any URL that was
neither absolute nor matched ./*|../* was assumed to point to a
subdirectory of the superproject as the location of the submodule's origin
repository.  This URL form was confusing and does not seem to correspond
to an important use-case.  Specifically, no-one has identified the need to
clone from a repository already in the superproject's tree, but if this is
needed it is easily done using an absolute URL: $(pwd)/relative-path.  So,
no functionality is lost with this patch. (t6008-rev-list-submodule.sh did
rely upon this relative URL, fixed by using $(pwd).)

Following this change, there are exactly four variants of
submodule-add, as both arguments have two flavors:

URL can be absolute, or can begin with ./|../ and thus names the
submodule's origin relative to the superproject's origin.

Note: With this patch, "submodule add" discerns an absolute URL as
matching /*|*:*: e.g., URL begins with /, or it contains a :.  This works
for all valid URLs, an absolute path in POSIX, as well as an absolute path
on Windows).

path can either already exist as a valid git repo, or will be cloned from
the given URL.  The first form here eases creation of a new submodule in
an existing superproject as the submodule can be added and tested in-tree
before pushing to the public repository.  However, the more usual form is
the second, where the repo is cloned from the given URL.

This specifically addresses the issue of

	$ git submodule add a/b/c

attempting to clone from a repository at "a/b/c" to create a new module
in "c". This also simplifies description of "relative URL" as there is now
exactly *one* form: a URL relative to the parent's origin repo.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-14 23:35:31 -07:00
Documentation git-submodule - make "submodule add" more strict, and document it 2008-07-14 23:35:31 -07:00
arm
compat Windows: Fix ntohl() related warnings about printf formatting 2008-06-26 08:47:17 +02:00
contrib Merge branch 'sp/maint-bash-completion-optim' 2008-07-13 16:41:02 -07:00
git-gui Merge git://repo.or.cz/git-gui 2008-07-06 12:55:34 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-06-11 16:22:53 -07:00
gitweb gitweb: Describe projects_index format in more detail 2008-07-07 16:35:00 -07:00
mozilla-sha1
perl Git.pm: Add remote_refs() git-ls-remote frontend 2008-07-08 22:46:01 -07:00
ppc
t git-submodule - make "submodule add" more strict, and document it 2008-07-14 23:35:31 -07:00
templates Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
xdiff
.gitattributes
.gitignore Merge branch 'dr/ceiling' 2008-07-07 02:17:23 -07:00
.mailmap
COPYING
GIT-VERSION-GEN GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy 2008-06-28 10:53:11 -07:00
INSTALL Tone down warning about GNU Interactive Tools 2008-07-08 23:05:26 -07:00
Makefile Merge branch 'dr/ceiling' 2008-07-07 02:17:23 -07:00
README
RelNotes Start preparing release notes for 1.5.6.3 2008-07-08 23:57:14 -07:00
abspath.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
alias.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
alloc.c
archive-tar.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive-zip.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive.h Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
attr.c Ignore .gitattributes in bare repositories 2008-06-09 15:08:26 -07:00
attr.h
base85.c
blob.c
blob.h
branch.c Allow tracking branches to set up rebase by default. 2008-05-12 17:16:40 -07:00
branch.h
builtin-add.c git add: add long equivalents of '-u' and '-f' options 2008-06-14 12:47:31 -07:00
builtin-annotate.c
builtin-apply.c apply: fix copy/rename breakage 2008-07-09 20:31:44 -07:00
builtin-archive.c
builtin-blame.c revisions: refactor handle_revision_opt into parse_revision_opt. 2008-07-09 15:14:11 -07:00
builtin-branch.c branch -r -v: do not spit out garbage 2008-07-06 02:54:56 -07:00
builtin-bundle.c
builtin-cat-file.c git cat-file: Fix memory leak in batch mode 2008-06-28 19:50:56 -07:00
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-checkout.c Refactor "tracking statistics" code used by "git checkout" 2008-07-02 23:32:25 -07:00
builtin-clean.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-clone.c Merge branch 'maint' 2008-07-09 00:19:50 -07:00
builtin-commit-tree.c commit-tree: lift completely arbitrary limit of 16 parents 2008-06-27 23:36:59 -07:00
builtin-commit.c Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
builtin-config.c Only use GIT_CONFIG in "git config", not other programs 2008-07-01 02:35:49 -07:00
builtin-count-objects.c
builtin-describe.c Fix describe --tags --long so it does not segfault 2008-07-02 21:21:59 -07:00
builtin-diff-files.c Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07:00
builtin-diff-index.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-diff-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-diff.c Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07:00
builtin-fast-export.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-fetch--tool.c
builtin-fetch-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-fetch.c fetch: give a hint to the user when local refs fail to update 2008-06-29 23:47:41 -07:00
builtin-fmt-merge-msg.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-for-each-ref.c for-each-ref: implement missing tag values 2008-06-25 11:05:26 -07:00
builtin-fsck.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
builtin-gc.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-grep.c
builtin-http-fetch.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-init-db.c git-init: accept --bare option 2008-05-28 18:31:19 -07:00
builtin-log.c builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix' 2008-07-05 17:42:24 -07:00
builtin-ls-files.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-ls-remote.c
builtin-ls-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-mailinfo.c git-mailinfo: document the -n option 2008-07-11 21:10:13 -07:00
builtin-mailsplit.c git-am/git-mailsplit: correct synopsis for reading from stdin 2008-07-13 16:08:27 -07:00
builtin-merge-base.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c clone: create intermediate directories of destination repo 2008-06-25 11:44:15 -07:00
builtin-mv.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-name-rev.c Merge branch 'maint' 2008-06-06 09:21:48 -07:00
builtin-pack-objects.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-pack-refs.c Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
builtin-prune-packed.c Remove now unnecessary 'sync()' calls 2008-05-31 14:49:29 -07:00
builtin-prune.c Remove now unnecessary 'sync()' calls 2008-05-31 14:49:29 -07:00
builtin-push.c Add a remote.*.mirror configuration option 2008-04-20 18:49:22 -07:00
builtin-read-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-reflog.c Make default expiration period of reflog used for stash infinite 2008-06-28 22:24:49 -07:00
builtin-remote.c "remote prune": be quiet when there is nothing to prune 2008-06-11 23:43:25 -07:00
builtin-rerere.c rerere.autoupdate 2008-06-22 02:06:58 -07:00
builtin-reset.c Allow "git-reset path" when unambiguous 2008-06-25 18:16:36 -07:00
builtin-rev-list.c Merge branch 'ph/parseopt-step-blame' 2008-07-13 15:16:35 -07:00
builtin-rev-parse.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-revert.c Allow cherry-picking root commits 2008-07-07 13:23:42 -07:00
builtin-rm.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-send-pack.c make deleting a missing ref more quiet 2008-07-08 13:05:11 -07:00
builtin-shortlog.c revisions: refactor handle_revision_opt into parse_revision_opt. 2008-07-09 15:14:11 -07:00
builtin-show-branch.c Merge branch 'maint' 2008-05-26 19:49:01 -07:00
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-tag.c Fix "config_error_nonbool" used with value instead of key 2008-07-05 23:31:09 -07:00
builtin-tar-tree.c
builtin-unpack-objects.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-update-index.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-update-ref.c Make old sha1 optional with git update-ref -d 2008-06-02 22:52:39 -07:00
builtin-upload-archive.c avoid off-by-one error in run_upload_archive 2008-06-28 13:43:21 -07:00
builtin-verify-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-verify-tag.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-write-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin.h Print info about "git help COMMAND" on git's main usage pages 2008-06-06 09:22:18 -07:00
bundle.c Teach git-bundle to read revision arguments from stdin like git-rev-list. 2008-07-07 01:31:24 -07:00
bundle.h
cache-tree.c Merge branch 'maint-1.5.4' into maint 2008-04-24 21:50:48 -07:00
cache-tree.h
cache.h Merge branch 'dr/ceiling' 2008-07-07 02:17:23 -07:00
check-builtins.sh
check-racy.c
check_bindir Move all dashed-form commands to libexecdir 2008-06-19 16:00:38 -07:00
color.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
color.h Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
combine-diff.c Merge branch 'jc/maint-combine-diff-pre-context' into maint 2008-06-25 11:20:01 -07:00
command-list.txt
commit.c Remove unused code in parse_commit_buffer() 2008-06-08 13:46:37 -07:00
commit.h
config.c Only use GIT_CONFIG in "git config", not other programs 2008-07-01 02:35:49 -07:00
config.mak.in Move all dashed-form commands to libexecdir 2008-06-19 16:00:38 -07:00
configure.ac Consistency: Use "libcurl" instead of "cURL library" and "curl" 2008-06-15 13:35:10 -07:00
connect.c Windows: Disambiguate DOS style paths from SSH URLs. 2008-06-26 08:45:08 +02:00
convert.c convert.c: Use 'git_config_string' to get 'smudge' and 'clean' 2008-07-05 17:42:30 -07:00
copy.c copy.c: copy_fd - correctly report write errors 2008-04-22 21:21:08 -07:00
csum-file.c Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
csum-file.h Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
ctype.c
daemon.c git daemon: avoid calling syslog() from a signal handler 2008-07-06 19:10:31 -07:00
date.c Make my_mktime() public and rename it to tm_to_time_t() 2008-06-23 13:40:29 +02:00
decorate.c fast-export --export-marks: fix off by one error 2008-07-03 00:34:59 -07:00
decorate.h
delta.h
diff-delta.c
diff-lib.c "git diff": do not ignore index without --no-index 2008-05-24 00:16:39 -07:00
diff-no-index.c git diff --no-index: default to page like other diff frontends 2008-05-26 22:35:07 -07:00
diff.c Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
diff.h Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c diff: make "too many files" rename warning optional 2008-05-03 13:40:43 -07:00
diffcore.h
dir.c Merge branch 'lt/case-insensitive' 2008-05-10 18:14:28 -07:00
dir.h
dump-cache-tree.c
entry.c
environment.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
exec_cmd.c Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
exec_cmd.h
fast-import.c Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl git-add--interactive: manual hunk editing mode 2008-07-02 15:31:49 -07:00
git-am.sh git-am/git-mailsplit: correct synopsis for reading from stdin 2008-07-13 16:08:27 -07:00
git-archimport.perl
git-bisect.sh bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting 2008-05-28 11:47:58 -07:00
git-compat-util.h Provide fallback definitions of PRIu32 and PRIx32 2008-07-09 15:10:03 -07:00
git-cvsexportcommit.perl Merge branch 'js/cvsexportcommit' 2008-05-25 13:37:20 -07:00
git-cvsimport.perl git-cvsimport: do not fail when CVSROOT is / 2008-06-10 22:24:01 -07:00
git-cvsserver.perl git-cvsserver: add ability to guess -kb from contents 2008-05-16 12:05:35 -07:00
git-filter-branch.sh Merge 1.5.5.3 in 2008-05-27 22:34:19 -07:00
git-instaweb.sh git-instaweb: improve auto-discovery of httpd and call conventions. 2008-06-13 22:08:30 -07:00
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-merge.sh git-merge.sh: fix typo in usage message: sucesses --> succeeds 2008-06-19 14:13:02 -07:00
git-mergetool.sh Remove the use of '--' in merge program invocation 2008-06-19 14:13:55 -07:00
git-parse-remote.sh
git-pull.sh pull --rebase: exit early when the working directory is dirty 2008-05-22 23:05:11 -07:00
git-quiltimport.sh
git-rebase--interactive.sh Make rebase--interactive use OPTIONS_SPEC 2008-07-13 16:08:27 -07:00
git-rebase.sh git-rebase.sh: Add check if rebase is in progress 2008-06-22 18:09:15 -07:00
git-relink.perl
git-repack.sh repack.usedeltabaseoffset config option now defaults to "true" 2008-06-25 10:56:40 -07:00
git-request-pull.sh git-request-pull: replace call to deprecated peek-remote 2008-07-13 16:08:27 -07:00
git-send-email.perl git-send-email: Fix authenticating on some servers when using TLS. 2008-07-09 15:53:10 -07:00
git-sh-setup.sh Windows: Work around incompatible sort and find. 2008-06-26 08:45:09 +02:00
git-stash.sh Merge branch 'am/stash-branch' 2008-07-13 15:16:09 -07:00
git-submodule.sh git-submodule - make "submodule add" more strict, and document it 2008-07-14 23:35:31 -07:00
git-svn.perl git-svn: typofix 2008-07-14 23:35:31 -07:00
git-web--browse.sh
git.c Allow per-command pager config 2008-07-06 02:20:24 -07:00
git.spec.in Move all dashed-form commands to libexecdir 2008-06-19 16:00:38 -07:00
graph.c git log --graph: print '*' for all commits, including merges 2008-06-06 11:56:43 -07:00
graph.h log --graph --left-right: show left/right information in place of '*' 2008-05-25 12:06:52 -07:00
grep.c
grep.h
hash-object.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
hash.c
hash.h
help.c Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
http-push.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
http-walker.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
http.c http.c: Use 'git_config_string' to clean up SSL config. 2008-07-05 17:42:46 -07:00
http.h Work around gcc warnings from curl headers 2008-07-04 00:37:40 -07:00
ident.c commit: Show committer if automatic 2008-05-06 16:50:17 -07:00
imap-send.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
index-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
interpolate.c
interpolate.h
list-objects.c
list-objects.h
ll-merge.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
ll-merge.h
lockfile.c rollback lock files on more signals than just SIGINT 2008-05-31 14:33:59 -07:00
log-tree.c log --graph --left-right: show left/right information in place of '*' 2008-05-25 12:06:52 -07:00
log-tree.h Remove dead code: show_log() sep argument and diff_options.msg_sep 2008-05-03 11:48:03 -07:00
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-index.c
merge-recursive.h
merge-tree.c
mktag.c
mktree.c
name-hash.c
object.c
object.h
pack-check.c verify-pack: check packed object CRC when using index version 2 2008-06-24 23:58:57 -07:00
pack-redundant.c
pack-refs.c Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
pack-refs.h Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
pack-revindex.c call init_pack_revindex() lazily 2008-06-23 21:25:20 -07:00
pack-revindex.h call init_pack_revindex() lazily 2008-06-23 21:25:20 -07:00
pack-write.c pack.indexversion config option now defaults to 2 2008-06-25 21:30:55 -07:00
pack.h verify-pack: check packed object CRC when using index version 2 2008-06-24 23:58:57 -07:00
pager.c Windows: Make the pager work. 2008-06-26 08:47:15 +02:00
parse-options.c parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. 2008-06-30 14:51:13 -07:00
parse-options.h parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. 2008-06-30 14:51:13 -07:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path-list.c
path-list.h
path.c Merge branch 'maint' to sync with 1.5.6.3 2008-07-13 15:45:38 -07:00
pkt-line.c Cleanup xread() loops to use read_in_full() 2008-05-03 22:15:25 -07:00
pkt-line.h
pretty.c log --pretty: do not accept bogus "--prettyshort" 2008-05-25 20:29:07 -07:00
progress.c progress.c: avoid use of dynamic-sized array 2008-06-08 13:56:32 -07:00
progress.h
quote.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'lt/racy-empty' into maint 2008-07-08 00:19:17 -07:00
receive-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'maint' 2008-07-09 00:19:50 -07:00
refs.h Allow for having for_each_ref() list extra refs 2008-05-04 17:41:44 -07:00
remote.c stat_tracking_info(): clear object flags used during counting 2008-07-03 12:14:53 -07:00
remote.h Refactor "tracking statistics" code used by "git checkout" 2008-07-02 23:32:25 -07:00
revision.c Merge branch 'ph/parseopt-step-blame' 2008-07-13 15:16:35 -07:00
revision.h Merge branch 'ph/parseopt-step-blame' 2008-07-13 15:16:35 -07:00
run-command.c Merge branch 'qq/maint' 2008-07-07 16:42:08 -07:00
run-command.h Windows: Implement asynchronous functions as threads. 2008-06-26 08:45:08 +02:00
send-pack.h
server-info.c
setup.c Merge branch 'dr/ceiling' 2008-07-07 02:17:23 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'sp/maint-pack-memuse' 2008-07-09 14:46:46 -07:00
sha1_name.c Merge branch 'maint-1.5.4' into maint 2008-04-29 22:55:07 -07:00
shallow.c
shell.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
shortlog.h
show-index.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
sideband.c
sideband.h
strbuf.c
strbuf.h
symlinks.c Optimize symlink/directory detection 2008-05-10 18:16:31 -07:00
tag.c
tag.h
tar.h
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c Extend parse-options test suite 2008-06-22 18:15:18 -07:00
test-path-utils.c Add support for GIT_CEILING_DIRECTORIES 2008-05-23 14:15:01 -07:00
test-sha1.c
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
transport.h Mark the list of refs to fetch as const 2008-05-04 17:41:44 -07:00
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unpack-file.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
unpack-trees.c unpack_trees(): allow callers to differentiate worktree errors from merge errors 2008-05-29 17:35:21 -07:00
unpack-trees.h unpack-trees: allow Porcelain to give different error messages 2008-05-19 19:30:13 -07:00
update-server-info.c
upload-pack.c Windows: Implement asynchronous functions as threads. 2008-06-26 08:45:08 +02:00
usage.c
utf8.c
utf8.h
var.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
walker.c Fix "git clone http://$URL" to check out the worktree when asked 2008-06-04 13:33:25 -07:00
walker.h Make walker.fetch_ref() take a struct ref. 2008-04-26 17:36:17 -07:00
wrapper.c Shrink the git binary a bit by avoiding unnecessary inline functions 2008-06-22 18:46:00 -07:00
write_or_die.c Windows: Work around an oddity when a pipe with no reader is written to. 2008-06-26 08:47:15 +02:00
ws.c Teach "diff --check" about new blank lines at end 2008-06-26 22:07:26 -07:00
wt-status.c Merge branch 'jc/report-tracking' 2008-07-13 15:15:23 -07:00
wt-status.h Add argument 'no' commit/status option -u|--untracked-files 2008-06-09 15:48:19 -07:00
xdiff-interface.c
xdiff-interface.h

README

////////////////////////////////////////////////////////////////

	GIT - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.