1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-07 17:53:12 +01:00
Find a file
Michael Haggerty 9e2326c7e1 longest_ancestor_length(): require prefix list entries to be normalized
Move the responsibility for normalizing prefixes from
longest_ancestor_length() to its callers. Use slightly different
normalizations at the two callers:

In setup_git_directory_gently_1(), use the old normalization, which
ignores paths that are not usable.  In the next commit we will change
this caller to also resolve symlinks in the paths from
GIT_CEILING_DIRECTORIES as part of the normalization.

In "test-path-utils longest_ancestor_length", use the old
normalization, but die() if any paths are unusable.  Also change t0060
to only pass normalized paths to the test program (no empty entries or
non-absolute paths, strip trailing slashes from the paths, and remove
tests that thereby become redundant).

The point of this change is to reduce the scope of the ancestor_length
tests in t0060 from testing normalization+longest_prefix to testing
only mostly longest_prefix.  This is necessary because when
setup_git_directory_gently_1() starts resolving symlinks as part of
its normalization, it will not be reasonable to do the same in the
test suite, because that would make the test results depend on the
contents of the root directory of the filesystem on which the test is
run.  HOWEVER: under Windows, bash mangles arguments that look like
absolute POSIX paths into DOS paths.  So we have to retain the level
of normalization done by normalize_path_copy() to convert the
bash-mangled DOS paths (which contain backslashes) into paths that use
forward slashes.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
2012-10-29 02:34:58 -04:00
block-sha1
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 Update draft release notes to 1.8.0 2012-09-25 10:44:32 -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
perl
po l10n: Update Swedish translation (1166t0f0u) 2012-09-13 06:33:25 +08:00
ppc
t longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04: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 Introduce new function real_path_if_valid() 2012-10-29 02:34:58 -04: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 longest_ancestor_length(): take a string_list argument for prefixes 2012-10-29 02:34:58 -04: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
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.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
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
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
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 Sync with 1.7.11.6 2012-09-11 11:23:54 -07:00
git-svn.perl
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
patch-delta.c
patch-ids.c
patch-ids.h
path.c longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04: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 longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04: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 longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04:00
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
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
version.h
walker.c
walker.h
wrap-for-bin.sh
wrapper.c
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.