1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-07 09:43:00 +01:00
Find a file
Jens Lehmann 4b7c286ec7 submodule add: Fail when .git/modules/<name> already exists unless forced
When adding a new submodule it can happen that .git/modules/<name> already
contains a submodule repo, e.g. when a submodule is removed from the work
tree and another submodule is added at the same path. But then the work
tree of the submodule will be populated using the existing repository and
not the one the user provided, which results in an incorrect work tree. On
the other hand the user might reactivate a submodule removed earlier, then
reusing that .git directory is the Right Thing to do.

As git can't decide what is the case, error out and tell the user she
should use either use a different name for the submodule with the "--name"
option or can reuse the .git directory for the newly added submodule by
providing the --force option (which only makes sense when the upstream
matches, so the error message lists all remotes of .git/modules/<name>).

In one test in t7406 the --force option had to be added to "git submodule
add", as that test re-adds a formerly removed submodule.

Reported-by: Jonathan Johnson <me@jondavidjohn.com>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-09-30 16:53:57 -07:00
block-sha1 Merge branch 'jn/block-sha1' into maint 2012-08-06 15:40:00 -07:00
builtin Merge branch 'jc/maint-mailinfo-mime-attr' 2012-09-25 10:39:56 -07:00
compat make poll() work on platforms that can't recv() on a non-socket 2012-09-17 15:44:20 -07:00
contrib Merge branch 'maint' 2012-09-25 10:25:52 -07:00
Documentation Teach "git submodule add" the --name option 2012-09-29 21:49:11 -07:00
git-gui
git_remote_helpers
gitk-git Merge branch 'da/gitk-reload-tag-contents' into maint-1.7.11 2012-09-14 20:45:55 -07:00
gitweb Merge branch 'maint-1.7.11' into maint 2012-09-10 15:31:06 -07:00
mergetools Add Code Compare v2.80.4 as a merge / diff tool for Windows 2012-08-10 08:08:08 -07:00
perl Merge branch 'ms/git-svn-1.7' 2012-08-22 11:51:20 -07:00
po l10n: Update Swedish translation (1166t0f0u) 2012-09-13 06:33:25 +08:00
ppc
t submodule add: Fail when .git/modules/<name> already exists unless forced 2012-09-30 16:53:57 -07:00
templates
vcs-svn
xdiff
.gitattributes
.gitignore Merge branch 'mh/string-list' 2012-09-17 15:53:31 -07:00
.mailmap Update mailmap for a handful of folks 2012-09-03 16:24:23 -07:00
abspath.c real_path(): properly handle nonexistent top-level paths 2012-09-06 16:19:58 -07:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Reduce translations by using same terminologies 2012-08-22 12:02:28 -07:00
archive.h
argv-array.c argv-array: fix bogus cast when freeing array 2012-09-02 21:10:24 -07:00
argv-array.h argv-array: add pop function 2012-09-02 21:10:01 -07:00
attr.c Merge branch 'jk/config-warn-on-inaccessible-paths' 2012-09-17 15:55:41 -07:00
attr.h
base85.c
bisect.c Call git_pathdup() rather than xstrdup(git_path("...")) 2012-09-04 13:34:46 -07:00
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin.h builtin/notes.c: mark file-scope private symbols as static 2012-09-15 22:58:20 -07:00
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h ident.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
command-list.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
commit.c commit.c: mark a file-scope private symbol as static 2012-09-15 22:58:20 -07:00
commit.h commit.c: mark a file-scope private symbol as static 2012-09-15 22:58:20 -07:00
config.c config: warn on inaccessible files 2012-08-21 14:46:11 -07:00
config.mak.in build: don't duplicate substitution of make variables 2012-09-11 10:24:39 -07:00
configure.ac build: don't duplicate substitution of make variables 2012-09-11 10:24:39 -07:00
connect.c Merge branch 'jc/capabilities' into maint 2012-09-11 11:06:45 -07:00
connected.c
connected.h
convert.c
convert.h
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: --access-hook option 2012-08-15 11:01:55 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
diff.c Merge branch 'nd/maint-diffstat-summary' into maint 2012-09-20 15:55:31 -07:00
diff.h diff.c: mark a private file-scope symbol as static 2012-09-15 22:58:20 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
diffcore.h Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
dir.c warn_on_inaccessible(): a helper to warn on inaccessible paths 2012-08-21 14:52:07 -07:00
dir.h
editor.c
entry.c
environment.c
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
fetch-pack.h filter_refs(): delete matched refs from sought list 2012-09-12 11:46:31 -07:00
fixup-builtins
fmt-merge-msg.h
fsck.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
fsck.h
generate-cmdlist.sh
gettext.c fetch: align per-ref summary report in UTF-8 locales 2012-09-14 12:45:50 -07:00
gettext.h Merge branch 'nd/fetch-status-alignment' 2012-09-18 14:35:55 -07:00
git-add--interactive.perl
git-am.sh Merge branch 'nd/am-i18n-fix' 2012-09-07 11:09:04 -07:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Port to HP NonStop 2012-09-19 17:31:25 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl cvsimport: strip all inappropriate tag strings 2012-09-06 10:40:09 -07:00
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl difftool: silence warning 2012-08-21 15:27:15 -07:00
git-filter-branch.sh
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'da/difftool-updates' 2012-08-27 11:55:17 -07:00
git-mergetool.sh mergetool: style fixes 2012-08-23 21:30:51 -07:00
git-p4.py Merge branch 'pw/p4-submit-conflicts' 2012-09-18 14:36:17 -07:00
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'maint-1.7.11' into maint 2012-09-10 15:31:06 -07:00
git-rebase--merge.sh
git-rebase.sh
git-relink.perl
git-remote-testgit.py
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'sb/send-email-reconfirm-fix' into maint 2012-09-14 21:32:07 -07:00
git-sh-i18n.sh
git-sh-setup.sh Merge branch 'jc/maint-protect-sh-from-ifs' into maint-1.7.11 2012-09-10 15:25:45 -07:00
git-stash.sh Merge branch 'ph/stash-rerere' into maint-1.7.11 2012-09-11 11:10:12 -07:00
git-submodule.sh submodule add: Fail when .git/modules/<name> already exists unless forced 2012-09-30 16:53:57 -07:00
git-svn.perl Merge branch 'ms/git-svn-1.7' 2012-08-22 11:51:20 -07:00
GIT-VERSION-GEN Git 1.7.12.1 2012-09-18 14:34:31 -07:00
git-web--browse.sh
git.c
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c graph.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
graph.h graph.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
grep.c grep.c: make two symbols really file-scope static this time 2012-09-20 14:20:09 -07:00
grep.h Merge branch 'jc/maint-log-grep-all-match' 2012-09-18 14:37:54 -07:00
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
http-walker.c Rename static function fetch_pack() to http_fetch_pack() 2012-09-12 11:46:31 -07:00
http.c Merge branch 'maint-1.7.11' into maint 2012-09-12 14:08:05 -07:00
http.h http: factor out http error code handling 2012-08-27 10:49:09 -07:00
ident.c ident.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
imap-send.c
INSTALL
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
list-objects.c
list-objects.h
ll-merge.c Merge branch 'jc/ll-merge-binary-ours' 2012-09-14 21:39:56 -07:00
ll-merge.h
lockfile.c
log-tree.c
log-tree.h
mailmap.c
mailmap.h
Makefile Merge branch 'js/hp-nonstop' 2012-09-25 10:40:21 -07:00
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'rj/path-cleanup' 2012-09-14 11:53:53 -07:00
merge-recursive.h
mergesort.c
mergesort.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c Sync with 1.7.11.6 2012-09-11 11:23:54 -07:00
notes-merge.h
notes.c notes.c: mark a private file-scope symbol as static 2012-09-15 22:58:20 -07:00
notes.h notes.c: mark a private file-scope symbol as static 2012-09-15 22:58:20 -07:00
object.c
object.h
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c
parse-options.h i18n: mark "style" in OPT_COLUMN() for translation 2012-08-20 12:23:14 -07:00
patch-delta.c
patch-ids.c diff_setup_done(): return void 2012-08-03 12:11:07 -07:00
patch-ids.h
path.c path.c: Use vsnpath() in the implementation of git_path() 2012-09-04 13:34:46 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c read-cache.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
README
reflog-walk.c
reflog-walk.h
refs.c
refs.h
RelNotes Start preparation for 1.7.12.2 2012-09-24 12:50:00 -07:00
remote-curl.c http: prompt for credentials on failed POST 2012-08-27 10:49:09 -07:00
remote.c
remote.h
replace_object.c
rerere.c rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
rerere.h rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jc/maint-log-grep-all-match' 2012-09-18 14:37:54 -07:00
revision.h Merge branch 'mz/cherry-pick-cmdline-order' into maint 2012-09-14 21:24:18 -07:00
run-command.c Merge branch 'dg/run-command-child-cleanup' into maint 2012-09-20 15:55:12 -07:00
run-command.h
send-pack.h
sequencer.c Merge branch 'jc/make-static' 2012-09-18 14:37:46 -07:00
sequencer.h Merge branch 'jc/make-static' 2012-09-18 14:37:46 -07:00
server-info.c
setup.c Merge branch 'maint-1.7.11' into maint 2012-09-10 15:31:06 -07:00
sh-i18n--envsubst.c
sha1-array.c sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-array.h sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c sha1_file.c: introduce get_max_fd_limit() helper 2012-08-24 09:46:01 -07:00
sha1_name.c
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
strbuf.h strbuf.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
streaming.c
streaming.h
string-list.c string_list: add a function string_list_longest_prefix() 2012-09-12 11:43:25 -07:00
string-list.h string_list: add a function string_list_longest_prefix() 2012-09-12 11:43:25 -07:00
submodule.c Merge branch 'dj/fetch-all-tags' into maint 2012-09-24 12:39:21 -07:00
submodule.h submodule: use argv_array instead of hand-building arrays 2012-09-02 21:13:50 -07:00
symlinks.c symlinks.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-regex.c test-regex: Add a test to check for a bug in the regex routines 2012-09-02 18:57:21 -07:00
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c test-string-list.c: Fix some sparse warnings 2012-09-15 23:33:58 -07:00
test-subprocess.c
test-svn-fe.c
thread-utils.c
thread-utils.h
trace.c trace.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
transport-helper.c
transport.c filter_refs(): delete matched refs from sought list 2012-09-12 11:46:31 -07:00
transport.h fetch: align per-ref summary report in UTF-8 locales 2012-09-14 12:45:50 -07:00
tree-diff.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c
unpack-trees.h
upload-pack.c include agent identifier in capability string 2012-08-03 13:03:34 -07:00
url.c
url.h
usage.c
userdiff.c Add userdiff patterns for Ada 2012-09-16 21:54:47 -07:00
userdiff.h
utf8.c
utf8.h
varint.c
varint.h
version.c include agent identifier in capability string 2012-08-03 13:03:34 -07:00
version.h include agent identifier in capability string 2012-08-03 13:03:34 -07:00
walker.c
walker.h
wrap-for-bin.sh
wrapper.c warn_on_inaccessible(): a helper to warn on inaccessible paths 2012-08-21 14:52:07 -07:00
write_or_die.c
ws.c
wt-status.c wt-status.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
wt-status.h wt-status.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

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

	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/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

Many Git online resources are accessible from http://git-scm.com/
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 (read
Documentation/SubmittingPatches for instructions on patch submission).
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.