Go to file
Thomas Rast 7f710ea982 notes: track whether notes_trees were changed at all
Currently, the notes copying is a bit wasteful since it always creates
new trees, even if no notes were copied at all.

Teach add_note() and remove_note() to flag the affected notes tree as
changed ('dirty').  Then teach builtin/notes.c to use this knowledge
and avoid committing trees that weren't changed.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-12 21:55:40 -08:00
Documentation notes: add shorthand --ref to override GIT_NOTES_REF 2010-03-12 21:55:40 -08:00
block-sha1
compat Do not use date.c:tm_to_time_t() from compat/mingw.c 2010-01-16 18:16:13 -08:00
contrib Builtin-ify git-notes 2010-02-13 19:36:13 -08:00
git-gui Merge git://repo.or.cz/git-gui 2009-12-09 15:38:51 -08:00
git_remote_helpers
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-12-09 15:38:42 -08:00
gitweb
perl
ppc
t commit --amend: copy notes to the new commit 2010-03-12 21:55:40 -08:00
templates
xdiff Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
.gitattributes .gitattributes: detect 8-space indent in shell scripts 2010-01-06 12:22:25 -08:00
.gitignore Merge branch 'il/vcs-helper' 2010-01-13 12:30:39 -08:00
.mailmap
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
GIT-VERSION-GEN Git 1.6.6.1 2010-01-20 13:29:21 -08:00
INSTALL
Makefile Builtin-ify git-notes 2010-02-13 19:36:13 -08:00
README
RelNotes Git 1.6.5.8 2010-01-20 12:44:59 -08:00
abspath.c
advice.c Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
advice.h Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
archive.h
attr.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
attr.h git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
base85.c Merge branch 'maint-1.6.2' into maint-1.6.3 2010-01-18 21:29:47 -08:00
bisect.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08: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
branch.h
builtin-add.c Remove diff machinery dependency from read-cache 2010-01-21 17:05:13 -08:00
builtin-annotate.c
builtin-apply.c Merge branch 'ag/patch-header-verify' 2010-01-20 20:28:51 -08:00
builtin-archive.c Merge branch 'il/vcs-helper' 2010-01-13 12:30:39 -08:00
builtin-bisect--helper.c
builtin-blame.c Merge branch 'maint' 2009-12-22 12:32:39 -08:00
builtin-branch.c Merge branch 'maint-1.6.4' into maint-1.6.5 2010-01-18 21:37:12 -08:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c Merge branch 'jc/checkout-merge-base' 2010-01-20 20:28:51 -08:00
builtin-clean.c Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
builtin-clone.c Merge branch 'tc/clone-v-progress' 2010-01-17 15:58:58 -08:00
builtin-commit-tree.c
builtin-commit.c commit --amend: copy notes to the new commit 2010-03-12 21:55:40 -08:00
builtin-config.c builtin-config: add --path option doing ~ and ~user expansion. 2009-12-31 12:19:38 -08:00
builtin-count-objects.c Merge branch 'maint-1.6.3' into maint-1.6.4 2010-01-18 21:37:06 -08:00
builtin-describe.c
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c
builtin-fast-export.c
builtin-fetch-pack.c
builtin-fetch.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c
builtin-fsck.c
builtin-gc.c
builtin-grep.c Merge branch 'jc/grep-lookahead' 2010-01-20 14:43:41 -08:00
builtin-hash-object.c make "git hash-object" a built-in 2010-01-21 20:07:06 -08:00
builtin-help.c help: fix configured help format taking over command line one 2010-01-09 23:42:48 -08:00
builtin-index-pack.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
builtin-init-db.c
builtin-log.c Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
builtin-ls-files.c Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
builtin-ls-remote.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-ls-tree.c
builtin-mailinfo.c
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
builtin-merge-index.c make "merge-index" a built-in 2010-01-22 10:01:21 -08:00
builtin-merge-ours.c
builtin-merge-recursive.c Make "subtree" part more orthogonal to the rest of merge-recursive. 2010-01-17 22:46:28 -08:00
builtin-merge-tree.c merge-tree: remove unnecessary call of git_extract_argv0_path 2010-01-22 10:01:06 -08:00
builtin-merge.c Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
builtin-mktag.c make "mktag" a built-in 2010-01-22 10:01:33 -08:00
builtin-mktree.c
builtin-mv.c git-mv: fix moving more than one source to a single destination 2010-01-22 14:31:30 -08:00
builtin-name-rev.c
builtin-notes.c notes: track whether notes_trees were changed at all 2010-03-12 21:55:40 -08:00
builtin-pack-objects.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
builtin-pack-redundant.c make "git pack-redundant" a built-in 2010-01-22 10:07:14 -08:00
builtin-pack-refs.c
builtin-patch-id.c make "git patch-id" a built-in 2010-01-21 22:06:12 -08:00
builtin-prune-packed.c
builtin-prune.c
builtin-push.c Add push --set-upstream 2010-01-16 16:39:58 -08:00
builtin-read-tree.c Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
builtin-receive-pack.c Merge branch 'jc/1.7.0-push-safety' 2009-12-26 14:03:17 -08:00
builtin-reflog.c
builtin-remote.c Merge branch 'bg/maint-remote-update-default' into maint 2010-01-20 13:23:59 -08:00
builtin-replace.c
builtin-rerere.c Make 'rerere forget' work from a subdirectory. 2010-01-21 00:42:20 -08:00
builtin-reset.c Merge branch 'cc/reset-more' 2010-01-13 11:58:56 -08:00
builtin-rev-list.c builtin-rev-list.c: mark file-local function static 2010-01-11 23:16:16 -08:00
builtin-rev-parse.c Merge branch 'il/rev-glob' 2010-02-23 12:05:18 -08:00
builtin-revert.c Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
builtin-rm.c rm: only refresh entries that we may touch 2010-01-19 15:04:23 -08:00
builtin-send-pack.c refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
builtin-shortlog.c
builtin-show-branch.c
builtin-show-ref.c
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c tag -d: print sha1 of deleted tag 2009-12-10 18:45:34 -08:00
builtin-tar-tree.c
builtin-unpack-file.c make "git unpack-file" a built-in 2010-01-22 10:02:16 -08:00
builtin-unpack-objects.c
builtin-update-index.c Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
builtin-update-ref.c
builtin-update-server-info.c
builtin-upload-archive.c
builtin-var.c make "git var" a built-in 2010-01-21 22:04:42 -08:00
builtin-verify-pack.c
builtin-verify-tag.c
builtin-write-tree.c
builtin.h notes: implement helpers needed for note copying during rewrite 2010-03-12 21:55:39 -08:00
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h notes: implement helpers needed for note copying during rewrite 2010-03-12 21:55:39 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt Add git-http-backend to command-list. 2009-12-26 14:12:34 -08:00
commit.c
commit.h Merge branch 'jc/maint-limit-note-output' 2010-01-22 16:08:01 -08:00
config.c Merge branch 'jc/ident' 2010-01-20 14:39:52 -08:00
config.mak.in
configure.ac Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
connect.c
convert.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/warn-author-committer-after-commit' 2010-01-20 14:40:12 -08:00
date.c date.c: mark file-local function static 2010-01-20 14:37:17 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
diff-no-index.c
diff.c Merge branch 'maint-1.6.4' into maint-1.6.5 2010-01-18 21:37:12 -08:00
diff.h Merge branch 'jc/1.7.0-diff-whitespace-only-status' 2009-12-26 14:03:18 -08:00
diffcore-break.c
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-rename.c
diffcore.h
dir.c Fix memory corruption when .gitignore does not end by \n 2010-01-20 20:01:52 -08:00
dir.h Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
editor.c editor: use run_command's shell feature 2010-01-05 23:41:51 -08:00
entry.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
environment.c Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'jh/notes' (early part) 2010-01-20 20:28:49 -08:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'maint' 2009-12-08 22:47:09 -08:00
git-am.sh rebase: support automatic notes copying 2010-03-12 21:55:40 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl cvsimport: standarize system() calls to external git tools 2010-01-19 12:22:19 -08:00
git-cvsserver.perl Merge branch 'pm/cvs-environ' 2010-01-10 08:52:37 -08:00
git-difftool--helper.sh Make difftool.prompt fall back to mergetool.prompt 2010-01-22 15:57:45 -08:00
git-difftool.perl difftool: Add '-x' and as an alias for '--extcmd' 2010-01-15 15:04:31 -08:00
git-filter-branch.sh Merge branch 'js/filter-branch-prime' 2010-01-07 15:40:30 -08:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh octopus: remove dead code 2009-12-13 23:40:24 -08:00
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-parse-remote.sh
git-pull.sh Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
git-quiltimport.sh
git-rebase--interactive.sh rebase: support automatic notes copying 2010-03-12 21:55:40 -08:00
git-rebase.sh rebase: support automatic notes copying 2010-03-12 21:55:40 -08:00
git-relink.perl
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jc/1.7.0-send-email-no-thread-default' 2009-12-26 14:03:17 -08:00
git-sh-setup.sh Use $(git rev-parse --show-toplevel) in cd_to_toplevel(). 2010-01-11 19:47:52 -08:00
git-stash.sh stash: mention --patch in usage string. 2010-01-02 10:40:55 -08:00
git-submodule.sh
git-svn.perl git svn: branch/tag commands detect username in URLs 2009-12-23 11:58:05 -08:00
git-web--browse.sh
git.c Builtin-ify git-notes 2010-02-13 19:36:13 -08:00
git.spec.in
graph.c
graph.h
grep.c grep: rip out pessimization to use fixmatch() 2010-01-13 01:05:04 -08:00
grep.h grep: rip out support for external grep 2010-01-13 01:04:54 -08:00
hash.c
hash.h
help.c help.autocorrect: do not run a command if the command given is junk 2009-12-15 16:21:51 -08:00
help.h
hex.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
http-backend.c Smart-http: check if repository is OK to export before serving it 2010-01-06 01:16:50 -08:00
http-fetch.c
http-push.c
http-walker.c
http.c http.c: mark file-local functions static 2010-01-12 01:06:08 -08:00
http.h http.c: mark file-local functions static 2010-01-12 01:06:08 -08:00
ident.c ident.c: replace fprintf with fputs to suppress compiler warning 2010-01-19 15:25:38 -08:00
imap-send.c run-command: convert simple callsites to use_shell 2010-01-05 23:41:50 -08:00
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
ll-merge.h Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
lockfile.c lockfile: show absolute filename in unable_to_lock_message 2010-01-12 15:48:24 -08:00
log-tree.c Fix "log" family not to be too agressive about showing notes 2010-01-20 19:57:02 -08:00
log-tree.h
mailmap.c mailmap.c: remove unused function 2010-01-12 01:06:09 -08: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 merge-tree: use ll_merge() not xdl_merge() 2010-01-16 23:45:33 -08:00
merge-recursive.c Merge branch 'maint' 2010-01-21 20:08:31 -08:00
merge-recursive.h Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
name-hash.c
notes.c notes: track whether notes_trees were changed at all 2010-03-12 21:55:40 -08:00
notes.h notes: track whether notes_trees were changed at all 2010-03-12 21:55:40 -08:00
object.c object.c: remove unused functions 2010-01-17 22:49:36 -08:00
object.h object.c: remove unused functions 2010-01-17 22:49:36 -08:00
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
pack.h make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
pager.c run-command: convert simple callsites to use_shell 2010-01-05 23:41:50 -08:00
parse-options.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
parse-options.h Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
progress.c
progress.h
quote.c quote.c: mark file-local function static 2010-01-12 01:06:08 -08:00
quote.h quote.c: mark file-local function static 2010-01-12 01:06:08 -08:00
reachable.c
reachable.h
read-cache.c Remove diff machinery dependency from read-cache 2010-01-21 17:05:13 -08:00
reflog-walk.c
reflog-walk.h
refs.c Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
refs.h Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
remote-curl.c Merge branch 'maint' 2010-01-21 20:08:31 -08:00
remote.c refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
remote.h refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
replace_object.c
rerere.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
rerere.h Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
resolve-undo.c resolve-undo: "checkout -m path" uses resolve-undo information 2009-12-25 17:10:10 -08:00
resolve-undo.h resolve-undo: "checkout -m path" uses resolve-undo information 2009-12-25 17:10:10 -08:00
revision.c Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
revision.h Support showing notes from more than one notes tree 2010-03-12 21:55:39 -08:00
run-command.c Merge branch 'js/exec-error-report' 2010-01-20 14:44:12 -08:00
run-command.h run-command: add "use shell" option 2010-01-01 17:53:46 -08:00
send-pack.h
server-info.c
setup.c Merge branch 'bk/fix-relative-gitdir-file' 2010-01-20 14:38:34 -08:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sha1_name.c Merge branch 'jc/checkout-merge-base' 2010-01-13 12:31:13 -08:00
shallow.c
shell.c
shortlog.h
show-index.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
strbuf.h Merge branch 'jc/maint-strbuf-add-fix-doubling' 2010-01-20 14:43:09 -08:00
string-list.c
string-list.h string-list: rename the include guard to STRING_LIST_H 2010-01-09 23:39:11 -08:00
submodule.c submodule.c: mark file-local function static 2010-01-12 01:06:08 -08:00
submodule.h
symlinks.c symlinks.c: remove unused functions 2010-01-17 22:49:36 -08: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-match-trees.c
test-parse-options.c
test-path-utils.c
test-run-command.c start_command: detect execvp failures early 2010-01-10 10:15:03 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c Merge branch 'js/exec-error-report' 2010-01-20 14:44:12 -08:00
transport.c Merge branch 'il/push-set-upstream' 2010-01-20 14:40:48 -08:00
transport.h Merge branch 'il/push-set-upstream' 2010-01-20 14:40:48 -08:00
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-trees.c Merge branch 'pc/uninteresting-submodule-disappear-upon-switch-branches' 2010-01-18 18:12:57 -08:00
unpack-trees.h
upload-pack.c Sync with 1.6.5.6 2009-12-10 16:20:59 -08:00
usage.c
userdiff.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
userdiff.h
utf8.c utf8.c: mark file-local function static 2010-01-12 01:06:09 -08:00
utf8.h utf8.c: mark file-local function static 2010-01-12 01:06:09 -08:00
walker.c
walker.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
wt-status.c status: only touch path we may need to check 2010-01-15 20:40:25 -08:00
wt-status.h status/commit: do not suggest "reset HEAD <path>" while merging 2009-12-12 01:22:10 -08: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/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.