Go to file
Junio C Hamano 032bea55a3 builtin-apply: do not declare patch is creation when we do not know it
When we see no context nor deleted line in the patch, we used to declare
that the patch creates a new file.  But some people create an empty file
and then apply a patch to it.  Similarly, a patch that delete everything
is not a deletion patch either.

This commit corrects these two issues.  Together with the previous commit,
it allows a diff between an empty file and a line-ful file to be treated
as both creation patch and "add stuff to an existing empty file",
depending on the context.  A new test t4126 demonstrates the fix.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-17 02:57:33 -07:00
Documentation Merge branch 'maint' 2008-05-16 22:10:13 -07:00
arm
compat compat/fopen.c: avoid clobbering the system defined fopen macro 2008-05-08 17:43:01 -07:00
contrib Merge branch 'sg/merge-options' (early part) 2008-05-08 20:06:36 -07:00
git-gui Merge git://repo.or.cz/git-gui 2008-05-15 01:31:15 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-05-14 21:27:55 -07:00
gitweb gitweb: Use feed link according to current view 2008-04-26 17:48:48 -07:00
mozilla-sha1
perl
ppc
t builtin-apply: do not declare patch is creation when we do not know it 2008-05-17 02:57:33 -07:00
templates
xdiff
.gitattributes
.gitignore
.mailmap
COPYING
GIT-VERSION-GEN Teach GIT-VERSION-GEN about the .git file 2008-04-09 01:22:50 -07:00
INSTALL INSTALL: add a note about GNU interactive tools has been renamed 2008-05-05 16:53:54 -07:00
Makefile Merge branch 'lt/case-insensitive' 2008-05-10 18:14:28 -07:00
README
RelNotes First batch of post 1.5.5 updates 2008-04-20 16:03:40 -07:00
alias.c
alloc.c
archive-tar.c git-archive: ignore prefix when checking file attribute 2008-04-10 00:20:38 -07:00
archive-zip.c git-archive: ignore prefix when checking file attribute 2008-04-10 00:20:38 -07:00
archive.c archive.c: format_subst - fixed bogus argument to memchr 2008-04-22 21:23:16 -07:00
archive.h
attr.c gitattributes: Fix subdirectory attributes specified from root directory 2008-04-22 21:12:37 -07:00
attr.h
base85.c
blob.c
blob.h
branch.c Allow tracking branches to set up rebase by default. 2008-05-11 09:28:52 -07:00
branch.h
builtin-add.c
builtin-annotate.c
builtin-apply.c builtin-apply: do not declare patch is creation when we do not know it 2008-05-17 02:57:33 -07:00
builtin-archive.c
builtin-blame.c
builtin-branch.c git-branch: add support for --merged and --no-merged 2008-04-20 18:16:46 -07:00
builtin-bundle.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c Merge branch 'maint' 2008-05-03 22:15:09 -07:00
builtin-clean.c git clean: Don't automatically remove directories when run within subdirectory 2008-04-14 23:14:58 -07:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'sb/committer' 2008-05-14 13:45:20 -07:00
builtin-config.c Merge branch 'mk/color' 2008-04-19 21:09:54 -07:00
builtin-count-objects.c
builtin-describe.c
builtin-diff-files.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-fast-export.c
builtin-fetch--tool.c
builtin-fetch-pack.c fetch-pack: brown paper bag fix 2008-04-30 11:42:05 -07:00
builtin-fetch.c alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
builtin-fmt-merge-msg.c Merge branch 'sg/merge-options' (early part) 2008-05-08 20:06:36 -07:00
builtin-for-each-ref.c
builtin-fsck.c
builtin-gc.c git-gc --auto: add pre-auto-gc hook 2008-04-09 01:31:13 -07:00
builtin-grep.c
builtin-http-fetch.c
builtin-init-db.c Make core.sharedRepository more generic 2008-04-16 18:23:54 -07:00
builtin-log.c Merge branch 'mv/format-cc' 2008-05-14 13:34:34 -07:00
builtin-ls-files.c
builtin-ls-remote.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-ls-tree.c
builtin-mailinfo.c
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c diff: make "too many files" rename warning optional 2008-05-03 13:40:43 -07:00
builtin-mv.c
builtin-name-rev.c
builtin-pack-objects.c
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c builtin-prune: protect objects listed on the command line 2008-03-27 15:39:57 -07:00
builtin-push.c Add a remote.*.mirror configuration option 2008-04-20 18:49:22 -07:00
builtin-read-tree.c Move name hashing functions into a file of its own 2008-04-09 01:22:25 -07:00
builtin-reflog.c
builtin-remote.c Merge branch 'pb/remote-mirror-config' 2008-05-05 19:15:39 -07:00
builtin-rerere.c
builtin-reset.c
builtin-rev-list.c
builtin-rev-parse.c rev-parse --verify: do not output anything on error 2008-05-11 11:51:12 -07:00
builtin-revert.c Allow cherry-pick (and revert) to add signoff line 2008-04-26 14:06:17 -07:00
builtin-rm.c
builtin-send-pack.c Tighten refspec processing 2008-03-26 00:10:55 -07:00
builtin-shortlog.c Merge branch 'maint-1.5.4' into maint 2008-04-12 15:41:19 -07:00
builtin-show-branch.c
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c Merge branch 'maint-1.5.4' into maint 2008-04-10 00:29:33 -07:00
builtin-tar-tree.c
builtin-unpack-objects.c
builtin-update-index.c
builtin-update-ref.c
builtin-upload-archive.c
builtin-verify-pack.c
builtin-verify-tag.c verify-tag: Clean up the temporary file if gpg cannot be started. 2008-04-02 00:08:30 -07:00
builtin-write-tree.c
builtin.h
bundle.c
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 'sb/committer' 2008-05-14 13:45:20 -07:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c Cleanup xread() loops to use read_in_full() 2008-05-03 22:15:25 -07:00
command-list.txt
commit.c
commit.h log: teach "terminator" vs "separator" mode to "--pretty=format" 2008-04-10 03:25:03 -07:00
config.c Merge branch 'sb/committer' 2008-05-14 13:45:20 -07:00
config.mak.in
configure.ac
connect.c
convert.c
copy.c copy.c: copy_fd - correctly report write errors 2008-04-22 21:21:08 -07:00
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Optimize symlink/directory detection 2008-05-10 18:16:31 -07:00
diff.c Merge branch 'jk/renamelimit' (early part) 2008-05-14 12:37:28 -07:00
diff.h Merge branch 'jk/renamelimit' (early part) 2008-05-14 12:37:28 -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 Merge branch 'sb/committer' 2008-05-14 13:45:20 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c git-fast-import: rename cmd_*() functions to parse_*() 2008-05-16 12:40:09 -07:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl add--interactive: allow user to choose mode update 2008-03-27 13:54:57 -07:00
git-am.sh Merge branch 'jc/maint-rebase-am' into maint 2008-04-19 23:01:51 -07:00
git-archimport.perl
git-bisect.sh Merge branch 'gp/bisect-fix' 2008-05-12 15:44:43 -07:00
git-clone.sh clone: bsd shell portability fix 2008-05-13 21:45:28 -07:00
git-compat-util.h compat-util: avoid macro redefinition warning 2008-05-08 17:47:25 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl Merge branch 'maint-1.5.4' into maint 2008-04-29 22:55:07 -07:00
git-cvsserver.perl Merge branch 'pb/cvsserver' 2008-04-02 00:22:20 -07:00
git-filter-branch.sh filter-branch: fix variable export logic 2008-05-13 21:45:28 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-merge-stupid.sh
git-merge.sh merge, pull: add '--(no-)log' command line option 2008-04-12 19:28:18 -07:00
git-mergetool.sh mergetool: Make ECMerge use the settings as specified by the user in the GUI 2008-05-11 10:12:19 -07:00
git-parse-remote.sh
git-pull.sh merge, pull: add '--(no-)log' command line option 2008-04-12 19:28:18 -07:00
git-quiltimport.sh
git-rebase--interactive.sh
git-rebase.sh Merge branch 'bd/tests' 2008-05-14 13:45:16 -07:00
git-relink.perl
git-repack.sh git-repack: re-enable parsing of -n command line option 2008-05-11 10:03:58 -07:00
git-request-pull.sh
git-send-email.perl Merge branch 'bd/tests' 2008-05-14 13:45:16 -07:00
git-sh-setup.sh
git-stash.sh
git-submodule.sh submodule update: add convenience option --init 2008-05-16 13:03:55 -07:00
git-svn.perl Add svn-compatible "blame" output format to git-svn 2008-05-11 10:12:19 -07:00
git-web--browse.sh
git.c make git-status use a pager 2008-04-29 23:11:57 -07:00
git.spec.in
grep.c
grep.h
hash-object.c
hash.c
hash.h
help.c help: use "man.<tool>.cmd" as custom man viewer command 2008-04-26 14:33:56 -07:00
http-push.c alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
http-walker.c Make walker.fetch_ref() take a struct ref. 2008-04-26 17:36:17 -07:00
http.c Make ls-remote http://... list HEAD, like for git://... 2008-04-26 17:36:18 -07:00
http.h Make walker.fetch_ref() take a struct ref. 2008-04-26 17:36:17 -07:00
ident.c commit: Show committer if automatic 2008-05-06 16:50:17 -07:00
imap-send.c Don't force imap.host to be set when imap.tunnel is set 2008-04-22 21:42:23 -07:00
index-pack.c
interpolate.c
interpolate.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c log: print log entry terminator even if the message is empty 2008-05-03 11:50:41 -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 mktag.c: tweak validation of tagger field and adjust test script 2008-03-31 22:43:34 -07:00
mktree.c
name-hash.c Make hash_name_lookup able to do case-independent lookups 2008-04-09 01:22:25 -07:00
object.c
object.h
pack-check.c
pack-redundant.c
pack-revindex.c
pack-revindex.h
pack-write.c Cleanup xread() loops to use read_in_full() 2008-05-03 22:15:25 -07:00
pack.h
pager.c
parse-options.c Merge branch 'maint-1.5.4' into maint 2008-04-10 00:29:33 -07:00
parse-options.h parse-options.c: introduce OPT_DATE 2008-03-27 13:55:15 -07:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path-list.c
path-list.h
path.c Make read_in_full() and write_in_full() consistent with xread() and xwrite() 2008-04-29 23:11:57 -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: teach "terminator" vs "separator" mode to "--pretty=format" 2008-04-10 03:25:03 -07:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Avoid some unnecessary lstat() calls 2008-05-10 18:16:30 -07:00
receive-pack.c
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'lh/git-file' 2008-05-05 19:16:16 -07:00
refs.h
remote.c alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
remote.h alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
revision.c Merge branch 'jc/terminator-separator' 2008-04-19 21:10:54 -07:00
revision.h log: teach "terminator" vs "separator" mode to "--pretty=format" 2008-04-10 03:25:03 -07:00
run-command.c
run-command.h
send-pack.h
server-info.c
setup.c Merge branch 'lh/git-file' 2008-05-05 19:16:16 -07:00
sha1-lookup.c sha1-lookup: make selection of 'middle' less aggressive 2008-04-09 01:30:18 -07:00
sha1-lookup.h sha1-lookup: more memory efficient search in sorted list of SHA-1 2008-04-09 01:23:52 -07:00
sha1_file.c Cleanup xread() loops to use read_in_full() 2008-05-03 22:15:25 -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
shortlog.h
show-index.c
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-absolute-path.c
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c
test-sha1.c
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unpack-file.c
unpack-trees.c Optimize symlink/directory detection 2008-05-10 18:16:31 -07:00
unpack-trees.h Make branch merging aware of underlying case-insensitive filsystems 2008-04-09 01:22:25 -07:00
update-server-info.c
upload-pack.c
usage.c
utf8.c
utf8.h
var.c
walker.c alloc_ref_from_str(): factor out a common pattern of alloc_ref from string 2008-05-11 09:04:37 -07:00
walker.h Make walker.fetch_ref() take a struct ref. 2008-04-26 17:36:17 -07:00
write_or_die.c Make read_in_full() and write_in_full() consistent with xread() and xwrite() 2008-04-29 23:11:57 -07:00
ws.c
wt-status.c bump rename limit defaults 2008-05-03 13:39:53 -07:00
wt-status.h wt-status.h: declare global variables as extern 2008-05-11 10:04:46 -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.