A fork of Git containing Microsoft-specific patches.
Перейти к файлу
Elijah Newren 434b8525e7 merge-recursive: Consider modifications in rename/rename(2to1) conflicts
Our previous conflict resolution for renaming two different files to the
same name ignored the fact that each of those files may have modifications
from both sides of history to consider.  We need to do a three-way merge
for each of those files, and then handle the conflict of both sets of
merged contents trying to be recorded with the same name.

It is important to note that this changes our strategy in the recursive
case.  After doing a three-way content merge of each of the files
involved, we still are faced with the fact that we are trying to put both
of the results (including conflict markers) into the same path.  We could
do another two-way merge, but I think that becomes confusing.  Also,
taking a hint from the modify/delete and rename/delete cases we handled
earlier, a more useful "common ground" would be to keep the three-way
content merge but record it with the original filename.  The renames can
still be detected, we just allow it to be done in the o->call_depth=0
case.  This seems to result in simpler & easier to understand merge
conflicts as well, as evidenced by some of the changes needed in our
testsuite in t6036.  (However, it should be noted that this change will
cause problems those renames also occur along with a file being added
whose name matches the source of the rename.  Since git currently cannot
detect rename/add-source situations, though, this codepath is not
currently used for those cases anyway.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-14 14:19:39 -07:00
Documentation string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros 2010-06-27 21:59:32 -07:00
builtin fetch: do not leak a refspec 2011-06-08 17:21:08 -07:00
compat remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
contrib git-completion: fix regression in zsh support 2011-05-10 13:08:51 -07:00
git-gui Merge git-gui 0.14.0 2011-03-26 10:42:35 -07:00
git_remote_helpers remote-helpers: build in platform independent directory 2010-09-27 10:42:50 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2011-04-11 09:33:06 -07:00
gitweb gitweb: supply '-n' to gzip for identical output 2011-04-26 13:14:02 -07:00
perl perl: command_bidi_pipe() method should set-up git environmens 2011-02-14 15:28:13 -08:00
po i18n: Makefile: "pot" target to extract messages marked for translation 2011-03-09 23:52:52 -08:00
ppc fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
t merge-recursive: Consider modifications in rename/rename(2to1) conflicts 2011-08-14 14:19:39 -07:00
templates Modernize git calling conventions in hook templates 2010-03-20 09:04:38 -07:00
vcs-svn remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
xdiff Merge branch 'cb/diff-fname-optim' into maint 2010-11-24 12:46:26 -08:00
.gitattributes .gitattributes: detect 8-space indent in shell scripts 2010-01-06 12:22:25 -08:00
.gitignore Remove old binaries from .gitignore 2011-04-03 10:32:13 -07:00
.mailmap Martin Langhoff has a new e-mail address 2010-10-06 12:08:48 -07:00
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
GIT-VERSION-GEN Git 1.7.5.4 2011-06-01 14:08:26 -07:00
INSTALL docs: default to more modern toolset 2010-11-24 15:13:58 -08:00
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
Makefile Merge branch 'kk/maint-prefix-in-config-mak' into maint 2011-05-26 09:42:12 -07:00
README README: git lives at http://git-scm.com these days 2009-10-07 12:47:24 -07:00
RelNotes Start 1.7.5.4 draft release notes 2011-05-31 12:06:40 -07:00
abspath.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
aclocal.m4 configure: use AC_LANG_PROGRAM consistently 2011-02-14 10:55:15 -08:00
advice.c Reword "detached HEAD" notification 2010-01-29 22:11:00 -08:00
advice.h Reword "detached HEAD" notification 2010-01-29 22:11:00 -08:00
alias.c split_cmdline: Allow caller to access error string 2010-08-11 09:36:23 -07:00
alloc.c unbreak and eliminate NO_C99_FORMAT 2011-03-17 15:30:49 -07:00
archive-tar.c archive-tar.c: squelch a type mismatch warning 2009-05-08 23:57:29 -07:00
archive-zip.c archive: remove unused headers 2008-07-19 11:17:43 -07:00
archive.c archive: improve --verbose description 2010-11-15 10:05:38 -08:00
archive.h archive: do not read .gitattributes in working directory 2009-04-17 21:05:49 -07:00
attr.c gitattributes: drop support for GIT_ATTR_NOGLOBAL 2011-03-15 12:23:29 -07:00
attr.h enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
base85.c Standardize do { ... } while (0) style 2010-08-12 15:44:51 -07:00
bisect.c bisect: use find_commit_subject() instead of custom code 2010-07-23 16:12:47 -07:00
bisect.h builtin-rev-list.c: mark file-local function static 2010-01-11 23:16:16 -08:00
blob.c Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
blob.h Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
branch.c Merge branch 'jh/maint-do-not-track-non-branches' 2011-03-15 14:22:13 -07:00
branch.h Change incorrect "remote branch" to "remote tracking branch" in C code 2010-11-03 09:20:47 -07:00
builtin.h repo-config: add deprecation warning 2011-02-13 15:13:41 -08:00
bundle.c bundle: Use OFS_DELTA in bundle files 2011-02-06 22:50:26 -08:00
bundle.h
cache-tree.c cache_tree_free: Fix small memory leak 2010-09-06 17:32:28 -07:00
cache-tree.h Optimize "diff-index --cached" using cache-tree 2009-05-25 11:35:29 -07:00
cache.h Merge branch 'jk/maint-config-alias-fix' into maint 2011-06-01 14:05:22 -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 wt-status: add helpers for printing wt-status lines 2011-03-08 12:12:42 -08:00
color.h wt-status: add helpers for printing wt-status lines 2011-03-08 12:12:42 -08:00
combine-diff.c Merge branch 'rs/diff-no-minimal' into maint 2010-06-21 05:38:50 -07:00
command-list.txt Add git-http-backend to command-list. 2009-12-26 14:12:34 -08:00
commit.c Add const to parse_{commit,tag}_buffer() 2011-02-07 15:04:42 -08:00
commit.h standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
config.c Merge branch 'jk/maint-config-alias-fix' into maint 2011-06-01 14:05:22 -07:00
config.mak.in Merge branch 'kk/maint-prefix-in-config-mak' into maint 2011-06-01 14:02:39 -07:00
configure.ac Improve test for pthreads flag 2011-03-28 10:54:54 -07:00
connect.c Merge branch 'jk/git-connection-deadlock-fix' into maint-1.7.4 2011-05-26 10:28:10 -07:00
convert.c enums: omit trailing comma for portability 2011-03-16 12:31:32 -07:00
copy.c preserve mtime of local clone 2009-09-13 01:32:26 -07:00
csum-file.c sparse: Fix errors and silence warnings 2011-04-03 10:14:53 -07:00
csum-file.h Merge branch 'maint' 2008-10-10 08:39:20 -07:00
ctype.c enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
daemon.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
date.c date: avoid "X years, 12 months" in relative dates 2011-04-20 19:23:16 -07:00
decorate.c Unify signedness in hashing calls 2009-05-20 00:02:24 -07:00
decorate.h decorate: allow const objects to be decorated 2008-08-20 13:30:49 -07:00
delta.h Fix big left-shifts of unsigned char 2009-06-18 09:22:46 -07:00
diff-delta.c fix >4GiB source delta assertion failure 2010-08-21 23:53:26 -07:00
diff-lib.c Merge branch 'jc/fix-diff-files-unmerged' into maint 2011-05-13 10:41:54 -07:00
diff-no-index.c Convert struct diff_options to use struct pathspec 2011-02-03 12:28:15 -08:00
diff.c Merge branch 'jc/rename-degrade-cc-to-c' into maint 2011-05-31 12:00:02 -07:00
diff.h Merge branch 'jc/rename-degrade-cc-to-c' into maint 2011-05-31 12:00:02 -07:00
diffcore-break.c Add a macro DIFF_QUEUE_CLEAR. 2010-05-07 09:34:27 -07:00
diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents 2009-12-05 10:54:17 -08:00
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe.c: a void function shouldn't try to return something 2010-10-06 13:45:18 -07:00
diffcore-rename.c diffcore-rename.c: avoid set-but-not-used warning 2011-06-01 13:54:17 -07:00
diffcore.h diff: pass the entire diff-options to diffcore_pickaxe() 2010-08-31 14:30:28 -07:00
dir.c Merge branch 'ar/clean-rmdir-empty' into maint 2011-05-04 14:57:06 -07:00
dir.h pathspec: add match_pathspec_depth() 2011-02-03 14:08:30 -08:00
editor.c editor: use run_command's shell feature 2010-01-05 23:41:51 -08:00
entry.c entry.c: remove "checkout-index" from error messages 2010-11-29 14:03:07 -08:00
environment.c Merge branch 'jc/pack-objects-bigfile' into maint 2011-05-04 14:57:38 -07:00
exec_cmd.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
exec_cmd.h Refactor git_set_argv0_path() to git_extract_argv0_path() 2009-01-26 00:26:05 -08:00
fast-import.c fast-import: fix option parser for no-arg options 2011-05-05 21:21:24 -07:00
fetch-pack.h standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
fixup-builtins make remove-dashes: apply to scripts and programs as well, not just to builtins 2008-07-11 21:13:17 -07:00
fsck.c Merge branch 'jm/maint-misc-fix' into maint 2011-05-30 00:09:41 -07:00
fsck.h Check the format of more printf-type functions 2009-11-15 18:24:58 -08:00
generate-cmdlist.sh standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
gettext.c i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set 2011-03-08 12:10:03 -08:00
gettext.h i18n: avoid parenthesized string as array initializer 2011-04-11 10:33:51 -07:00
git-add--interactive.perl add -i: ignore terminal escape sequences 2011-05-17 20:44:17 -07:00
git-am.sh Merge branch 'jc/maint-rebase-rewrite-last-skip' into maint 2010-12-28 13:43:10 -08:00
git-archimport.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-bisect.sh bisect: visualize with git-log if gitk is unavailable 2011-03-21 10:23:45 -07:00
git-compat-util.h Merge branch 'maint' 2011-04-03 13:53:11 -07:00
git-cvsexportcommit.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-cvsimport.perl Merge branch 'gr/cvsimport-alternative-cvspass-location' into maint 2011-05-13 10:44:54 -07:00
git-cvsserver.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-difftool--helper.sh difftool: provide basename to external tools 2010-12-16 13:01:36 -08:00
git-difftool.perl difftool: Fix failure on Cygwin 2010-12-14 11:13:41 -08:00
git-filter-branch.sh filter-branch: retire --remap-to-ancestor 2010-08-27 16:47:01 -07:00
git-instaweb.sh git-instaweb: Change how gitweb.psgi is made runnable as standalone app 2011-02-27 22:02:31 -08:00
git-lost-found.sh lost-found: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-merge-octopus.sh merge-octopus: Work around environment issue on Windows 2010-10-01 23:08:46 +01:00
git-merge-one-file.sh Merge branch 'jk/merge-one-file-working-tree' into maint 2011-05-13 10:44:19 -07:00
git-merge-resolve.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-mergetool--lib.sh Pass empty file to p4merge where no base is suitable. 2011-05-01 15:56:05 -07:00
git-mergetool.sh mergetool: Teach about submodules 2011-04-13 12:21:45 -07:00
git-parse-remote.sh Merge branch 'maint' 2011-03-30 19:33:53 -07:00
git-pull.sh Merge branch 'jl/submodule-fetch-on-demand' 2011-04-04 15:02:01 -07:00
git-quiltimport.sh git-quiltimport: preserve standard input to be able to read user input 2009-02-25 00:49:13 -08:00
git-rebase--interactive.sh git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff 2011-04-28 09:56:55 -07:00
git-rebase.sh Merge branch 'maint' 2011-01-27 10:27:49 -08:00
git-relink.perl Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
git-remote-testgit.py Remove python 2.5'isms 2010-06-13 20:02:50 -07:00
git-repack.sh Merge branch 'tr/maint-git-repack-tmpfile' into maint 2010-11-24 12:47:10 -08:00
git-request-pull.sh git-request-pull: open-code the only invocation of get_remote_url 2011-03-02 12:26:58 -08:00
git-send-email.perl git-send-email: fix missing space in error message 2011-04-29 11:34:32 -07:00
git-sh-setup.sh Porcelain scripts: Rewrite cryptic "needs update" error message 2010-10-28 13:28:44 -07:00
git-stash.sh Merge branch 'jk/maint-stash-oob' into maint 2011-05-04 14:58:42 -07:00
git-submodule.sh git-submodule.sh: separate parens by a space to avoid confusing some shells 2011-05-26 15:04:05 -07:00
git-svn.perl git-svn: Fix git svn log --show-commit 2011-05-20 09:30:09 -07:00
git-web--browse.sh web--browse: better support for chromium 2010-12-03 14:05:32 -08:00
git.c Merge branch 'jk/maint-config-alias-fix' into maint 2011-06-01 14:05:22 -07:00
git.spec.in git.spec.in: Add gitweb subpackage 2010-06-30 15:49:18 -07:00
graph.c rev-list/log: factor out revision mark generation 2011-03-09 13:50:54 -08:00
graph.h Enable custom schemes for column colors in the graph API 2010-07-13 16:33:02 -07:00
grep.c log --author: take union of multiple "author" requests 2010-09-13 01:11:55 -07:00
grep.h log --author: take union of multiple "author" requests 2010-09-13 01:11:55 -07:00
hash.c for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
hash.h for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
help.c help: always suggest common-cmds if prefix of cmd 2010-12-05 12:15:12 -08:00
help.h builtin.h: Move two functions definitions to help.h. 2010-09-01 08:00:51 -07:00
hex.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
http-backend.c http-backend: use end_url_with_slash() 2010-11-26 14:50:45 -08:00
http-fetch.c Fix two unused variable warnings in gcc 4.6 2011-04-03 10:59:40 -07:00
http-push.c standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
http-walker.c standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
http.c Merge branch 'sp/maint-clear-postfields' into maint 2011-05-04 14:58:56 -07:00
http.h standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
ident.c Merge branch 'rg/copy-gecos-username' into maint 2011-05-26 09:37:04 -07:00
imap-send.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
levenshtein.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
levenshtein.h Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
list-objects.c Merge branch 'jc/maint-rev-list-culled-boundary' into maint 2011-04-03 12:32:35 -07:00
list-objects.h Merge branch 'lt/pack-object-memuse' 2009-04-18 14:46:17 -07:00
ll-merge.c ll-merge: simplify opts == NULL case 2011-01-15 20:34:14 -08:00
ll-merge.h merge-recursive --patience 2010-08-26 09:20:03 -07:00
lockfile.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
log-tree.c git-log: put space after commit mark 2011-03-10 21:55:29 -08:00
log-tree.h Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
mailmap.c mailmap: fix use of freed memory 2010-10-13 19:11:26 -07:00
mailmap.h mailmap.c: remove unused function 2010-01-12 01:06:09 -08:00
match-trees.c Make "subtree" part more orthogonal to the rest of merge-recursive. 2010-01-17 22:46:28 -08:00
merge-file.c ll-merge: replace flag argument with options struct 2010-08-26 09:18:51 -07:00
merge-recursive.c merge-recursive: Consider modifications in rename/rename(2to1) conflicts 2011-08-14 14:19:39 -07:00
merge-recursive.h merge-recursive: Save D/F conflict filenames instead of unlinking them 2011-08-14 14:19:35 -07:00
name-hash.c Add case insensitivity support for directories when using git status 2010-10-06 11:19:58 -07:00
notes-cache.c notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond 2010-11-17 13:21:02 -08:00
notes-cache.h introduce notes-cache interface 2010-04-01 23:58:30 -07:00
notes-merge.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
notes-merge.h git notes merge: Add another auto-resolving strategy: "cat_sort_uniq" 2010-11-17 13:22:53 -08:00
notes.c Merge branch 'jh/notes-merge' 2010-12-08 11:24:12 -08:00
notes.h Merge branch 'jh/notes-merge' 2010-12-08 11:24:12 -08:00
object.c Merge branch 'maint' 2010-09-06 00:12:04 -07:00
object.h object.h: Remove obsolete struct object_refs 2011-03-14 10:49:28 -07:00
pack-check.c sparse: Fix errors and silence warnings 2011-04-03 10:14:53 -07:00
pack-refs.c pack-refs: remove newly empty directories 2010-07-07 09:11:37 -07:00
pack-refs.h Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
pack-revindex.c janitor: useless checks before free 2009-07-22 21:57:41 -07:00
pack-revindex.h discard revindex data when pack list changes 2008-08-22 22:00:22 -07:00
pack-write.c move encode_in_pack_object_header() to a better place 2010-02-23 13:10:56 -08:00
pack.h Merge branch 'sp/maint-dumb-http-pack-reidx' into maint 2010-06-16 16:21:30 -07:00
pager.c Make 'git var GIT_PAGER' always print the configured pager 2010-02-14 18:23:17 -08:00
parse-options.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
parse-options.h Make <identifier> lowercase as per CodingGuidelines 2011-02-15 11:53:09 -08:00
patch-delta.c compat: helper for detecting unsigned overflow 2011-02-10 13:47:56 -08:00
patch-ids.c patch-ids: use the new generic "sha1_pos" function to lookup sha1 2009-04-04 22:57:42 -07:00
patch-ids.h
path.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
pkt-line.c sparse: Fix errors and silence warnings 2011-04-03 10:14:53 -07:00
pkt-line.h pkt-line: Add strbuf based functions 2009-10-30 19:20:53 -07:00
preload-index.c Convert ce_path_match() to use struct pathspec 2011-02-03 14:08:30 -08:00
pretty.c userformat_find_requirements(): find requirement for the correct format 2011-05-25 13:08:10 -07:00
progress.c change throughput display units with fast links 2009-10-14 01:19:29 -07:00
progress.h
quote.c quote.c: separate quoting and relative path generation 2010-06-05 09:14:13 -07:00
quote.h quote.h: simplify the inclusion 2011-02-07 15:15:17 -08:00
reachable.c Remove unused variables 2011-03-22 11:43:27 -07:00
reachable.h
read-cache.c Merge branch 'jc/index-update-if-able' into maint 2011-04-03 12:33:05 -07:00
reflog-walk.c Merge branch 'jk/maint-reflog-bottom' into maint 2010-12-14 07:35:50 -08:00
reflog-walk.h Introduce new pretty formats %g[sdD] for reflog information 2009-10-19 22:28:26 -07:00
refs.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
refs.h setup_revisions(): Allow walking history in a submodule 2010-07-07 09:48:33 -07:00
remote-curl.c Merge branch 'sp/maint-smart-http-sans-100-continue' 2011-03-14 11:59:10 -07:00
remote.c Change "tracking branch" to "remote-tracking branch" 2010-11-03 09:20:41 -07:00
remote.h enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
replace_object.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
rerere.c Merge branch 'jm/maint-misc-fix' into maint 2011-05-30 00:09:41 -07:00
rerere.h rerere "remaining" 2011-02-16 13:20:50 -08:00
resolve-undo.c Convert the users of for_each_string_list to for_each_string_list_item macro 2010-07-05 11:44:35 -07:00
resolve-undo.h build: make code "-Wpointer-arith" clean 2010-02-01 22:04:03 -08:00
revision.c Merge branch 'jc/maint-1.7.4-pathspec-stdin-and-cmdline' 2011-05-11 16:09:25 -07:00
revision.h Merge branch 'mg/rev-list-n-parents' 2011-03-26 20:13:17 -07:00
run-command.c run-command: handle short writes and EINTR in die_child 2011-04-20 10:09:26 -07:00
run-command.h Enable threaded async procedures whenever pthreads is available 2010-03-10 14:26:54 -08:00
send-pack.h push: pass --progress down to git-pack-objects 2010-10-18 16:20:19 -07:00
server-info.c update-server-info: Shorten read_pack_info_file() 2010-07-19 11:13:52 -07:00
setup.c Merge branch 'jm/maint-misc-fix' into maint 2011-05-30 00:09:41 -07:00
sha1-lookup.c sha1-lookup: fix up the assertion message 2009-04-06 00:56:27 -07:00
sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 2009-04-04 22:57:39 -07:00
sha1_file.c git_open_noatime(): drop unused parameter 2011-05-15 15:24:52 -07:00
sha1_name.c sha1_name: Suggest commit:./file for path in subdir 2011-04-03 12:24:27 -07:00
shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
shell.c shell: add missing initialization of argv0_path 2011-05-05 09:32:28 -07:00
shortlog.h pretty: Respect --abbrev option 2010-05-04 15:38:58 -07:00
show-index.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sideband.c Smart push over HTTP: client side 2009-11-04 17:58:15 -08:00
sideband.h recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sigchain.c refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
sigchain.h refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
strbuf.c strbuf: add strbuf_vaddf 2011-02-26 01:06:50 -08:00
strbuf.h Merge branch 'maint' 2011-03-30 14:10:41 -07:00
string-list.c string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
string-list.h string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
submodule.c Merge branch 'jl/submodule-fetch-on-demand' 2011-04-04 15:02:01 -07:00
submodule.h fetch/pull: Add the 'on-demand' value to the --recurse-submodules option 2011-03-09 13:10:35 -08:00
symlinks.c do not overwrite untracked symlinks 2011-02-21 22:51:07 -08:00
tag.c parse_tag_buffer(): do not prefixcmp() out of range 2011-02-16 10:05:14 -08:00
tag.h Add const to parse_{commit,tag}_buffer() 2011-02-07 15:04:42 -08:00
tar.h
test-chmtime.c Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
test-ctype.c Add is_regex_special() 2009-01-17 18:30:41 -08:00
test-date.c test-date: fix sscanf type conversion 2010-07-06 08:42:15 -07:00
test-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
test-dump-cache-tree.c add test-dump-cache-tree in Makefile 2009-02-03 22:11:44 -08:00
test-genrandom.c test-genrandom: ensure stdout is set to _O_BINARY on Windows 2009-09-21 00:36:12 -07:00
test-index-version.c Add test-index-version 2009-08-23 17:11:28 -07:00
test-line-buffer.c vcs-svn: remove buffer_read_string 2011-03-26 00:17:35 -05:00
test-match-trees.c
test-mktemp.c Improve error messages when temporary file creation fails 2010-12-21 19:51:17 -08:00
test-obj-pool.c Add memory pool library 2010-08-14 19:35:37 -07:00
test-parse-options.c Make <identifier> lowercase as per CodingGuidelines 2011-02-15 11:53:11 -08:00
test-path-utils.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
test-run-command.c tests: check error message from run_command 2011-04-20 10:08:54 -07:00
test-sha1.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
test-sha1.sh more tr portability test script fixes 2008-03-13 00:57:52 -07:00
test-sigchain.c t0005: use SIGTERM for sigchain test 2009-01-30 01:14:26 -08:00
test-string-pool.c Add string-specific memory pool 2010-08-14 19:35:37 -07:00
test-subprocess.c Remove unused variables 2011-03-22 11:43:27 -07:00
test-svn-fe.c vcs-svn: Check for errors from open() 2010-11-24 14:51:42 -08:00
test-treap.c treap: make treap_insert return inserted node 2010-12-07 16:03:55 -08:00
thread-utils.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
thread-utils.h thread-utils.h: simplify the inclusion 2010-12-10 12:58:06 -08:00
trace.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
transport-helper.c Remove unused variables 2011-03-22 11:43:27 -07:00
transport.c Merge branch 'jm/maint-misc-fix' into maint 2011-05-30 00:09:41 -07:00
transport.h refs_from_alternate: helper to use refs from alternates 2011-03-17 16:18:47 -07:00
tree-diff.c Remove unused variables 2011-03-22 11:43:27 -07:00
tree-walk.c grep: drop pathspec_matches() in favor of tree_entry_interesting() 2011-02-03 14:08:31 -08:00
tree-walk.h grep: drop pathspec_matches() in favor of tree_entry_interesting() 2011-02-03 14:08:31 -08:00
tree.c Fix off-by-one in read_tree_recursive 2009-04-20 13:44:14 -07:00
tree.h add context pointer to read_tree_recursive() 2008-07-15 07:17:59 -07:00
unimplemented.sh Makefile: allow building without perl 2009-04-08 22:14:56 -07:00
unpack-trees.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
unpack-trees.h use persistent memory for rejected paths 2010-12-14 08:55:13 -08:00
upload-pack.c Merge branch 'jk/maint-upload-pack-shallow' into maint 2011-05-04 14:58:13 -07:00
url.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
url.h url: add str wrapper for end_url_with_slash() 2010-11-26 14:50:45 -08:00
usage.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
userdiff.c Merge branch 'tr/diff-words-test' 2011-02-09 16:41:17 -08:00
userdiff.h diff: cache textconv output 2010-04-02 00:05:31 -07:00
utf8.c strbuf: add fixed-length version of add_wrapped_text 2011-02-23 13:44:36 -08:00
utf8.h strbuf: add fixed-length version of add_wrapped_text 2011-02-23 13:44:36 -08:00
walker.c commit: Add commit_list prefix in two function names. 2010-11-29 14:01:52 -08:00
walker.h http: init and cleanup separately from http-walker 2010-03-02 11:10:36 -08:00
wrap-for-bin.sh wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR 2010-03-02 16:27:03 -08:00
wrapper.c Merge branch 'ae/better-template-failure-report' into maint 2011-03-20 22:09:39 -07:00
write_or_die.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
ws.c Make the tab width used for whitespace checks configurable 2010-12-01 14:47:51 -08:00
wt-status.c Merge branch 'ab/i18n-st' 2011-04-01 17:55:55 -07:00
wt-status.h Merge branch 'jn/status-translatable' 2011-03-19 23:24:19 -07:00
xdiff-interface.c add, merge, diff: do not use strcasecmp to compare config variable names 2011-05-14 18:53:39 -07:00
xdiff-interface.h Merge branch 'maint-1.7.0' into maint 2010-05-04 15:20:47 -07:00
zlib.c wrapper: give zlib wrappers their own translation unit 2010-11-10 11:07:51 -08:00

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/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. 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.