Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Git - the stupid content tracker
Branch: master
Pull request Compare This branch is 13435 commits behind gitster:master.

git-p4: test for absolute PWD problem

Signed-off-by: Pete Wyckoff <>
Signed-off-by: Junio C Hamano <>
latest commit 57526fde5d
Pete Wyckoff authored gitster committed
Failed to load latest commit information.
Documentation Update draft release notes for 1.7.9
block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros
builtin Merge branch 'nd/resolve-ref'
compat Merge branch 'maint'
contrib git-p4: use absolute directory for PWD env var
git-gui Merge git://
git_remote_helpers Change check_ref_format() to take a flags argument
gitk-git Merge git://
gitweb Merge branch 'rj/gitweb-clean-js'
mergetools mergetools: use the correct tool for Beyond Compare 3 on Windows
perl Merge branch 'maint-1.7.7' into maint
po i18n: Makefile: "pot" target to extract messages marked for translation
ppc fix openssl headers conflicting with custom SHA1 implementations
t git-p4: test for absolute PWD problem
templates Merge branch 'maint-1.7.6' into maint
vcs-svn Merge branch 'rj/sparse'
xdiff Merge branch 'rs/diff-whole-function'
.gitattributes .gitattributes: detect 8-space indent in shell scripts
.gitignore Makefile: Track changes to LDFLAGS and relink when necessary
.mailmap Martin Langhoff has a new e-mail address
COPYING Update COPYING with GPLv2 with new FSF address
GIT-VERSION-GEN Kick-off the 1.7.9 cycle
INSTALL docs: Update install-doc-quick
LGPL-2.1 provide a copy of the LGPLv2.1
Makefile Merge branch 'jc/pull-signed-tag'
README README: git lives at these days
RelNotes Kick-off the 1.7.9 cycle
abspath.c Reduce parse-options.o dependencies
aclocal.m4 configure: use AC_LANG_PROGRAM consistently
advice.c advice: Introduce error_resolve_conflict
advice.h advice: Introduce error_resolve_conflict
alias.c split_cmdline: Allow caller to access error string
alloc.c unbreak and eliminate NO_C99_FORMAT
archive-tar.c upload-archive: allow user to turn off filters
archive-zip.c Merge branch 'jk/archive-tar-filter'
archive.c archive.c: use OPT_BOOL()
archive.h upload-archive: allow user to turn off filters
argv-array.c refactor argv_array into generic code
argv-array.h refactor argv_array into generic code
attr.c attr.c: respect core.ignorecase when matching attribute patterns
attr.h Rename git_checkattr() to git_check_attr()
base85.c Standardize do { ... } while (0) style
bisect.c Merge branch 'rs/pending'
bisect.h bisect: introduce support for --no-checkout option.
blob.c Replace parse_blob() with an explanatory comment
blob.h Replace parse_blob() with an explanatory comment
branch.c Merge branch 'jc/request-pull-show-head-4'
branch.h branch: add read_branch_desc() helper function
builtin.h fmt-merge-msg: package options into a structure
bundle.c Convert many resolve_ref() calls to read_ref*() and ref_exists()
bundle.h Merge branch 'jc/unseekable-bundle'
cache-tree.c cache_tree_free: Fix small memory leak
cache-tree.h Optimize "diff-index --cached" using cache-tree
cache.h Merge branch 'nd/resolve-ref' cherry is built-in, do not ship
check-racy.c ce_match_stat, run_diff_files: use symbolic constants for readability
check_bindir Move all dashed-form commands to libexecdir
color.c want_color: automatically fallback to color.ui
color.h want_color: automatically fallback to color.ui
combine-diff.c Merge branch 'jk/color-and-pager'
command-list.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
commit.c commit: teach --amend to carry forward extra headers
commit.h commit: teach --amend to carry forward extra headers
config.c Merge branch 'na/strtoimax' Merge branch 'kk/maint-prefix-in-config-mak' configure: Check for libpcre
connect.c Change check_ref_format() to take a flags argument
connected.c check_everything_connected(): libify
connected.h check_everything_connected(): libify
convert.c convert.c: Fix return type of git_path_check_eol()
convert.h stream filter: add "no more input" to the filters
copy.c preserve mtime of local clone
csum-file.c Merge branch 'jc/index-pack'
csum-file.h index-pack: --verify
ctype.c magic pathspec: futureproof shorthand form
daemon.c Merge branch 'jk/daemon-msgs'
date.c date.c: Support iso8601 timezone formats
decorate.c Unify signedness in hashing calls
decorate.h decorate: allow const objects to be decorated
delta.h Fix big left-shifts of unsigned char
diff-delta.c fix >4GiB source delta assertion failure
diff-lib.c Merge branch 'cn/eradicate-working-copy' into maint
diff-no-index.c Convert struct diff_options to use struct pathspec
diff.c Merge branch 'rs/diff-whole-function'
diff.h diff: add option to show whole functions as context
diffcore-break.c Add a macro DIFF_QUEUE_CLEAR.
diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents
diffcore-order.c Use xmemdupz() in many places.
diffcore-pickaxe.c pickaxe: factor out pickaxe
diffcore-rename.c diffcore-rename.c: avoid set-but-not-used warning
diffcore.h combine-diff: support format_callback
dir.c read_directory_recursive: reduce one indentation level
dir.h rename pathspec_prefix() to common_prefix() and move to dir.[ch]
editor.c editor: use run_command's shell feature
entry.c Add streaming filter API
environment.c Merge branch 'jc/request-pull-show-head-4'
exec_cmd.c Name make_*_path functions more accurately
exec_cmd.h Refactor git_set_argv0_path() to git_extract_argv0_path()
fast-import.c Merge branch 'di/fast-import-empty-tag-note-fix'
fetch-pack.h standardize brace placement in struct definitions
fixup-builtins make remove-dashes: apply to scripts and programs as well, not just t…
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description
fsck.c fsck: improve committer/author check
fsck.h Check the format of more printf-type functions misc-sh: fix up whitespace in some other .sh files.
gettext.c i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set
gettext.h i18n: avoid parenthesized string as array initializer
git-add--interactive.perl add -i: ignore terminal escape sequences Merge branch 'maint-1.7.7' into maint
git-archimport.perl perl: use "use warnings" instead of -w Merge branch 'js/bisect-no-checkout' into maint
git-compat-util.h Merge branch 'vr/msvc'
git-cvsexportcommit.perl perl: use "use warnings" instead of -w
git-cvsimport.perl Merge branch 'gr/cvsimport-alternative-cvspass-location' into maint
git-cvsserver.perl use -h for synopsis and --help for manpage consistently git-difftool: allow skipping file by typing 'n' at prompt
git-difftool.perl use -h for synopsis and --help for manpage consistently Merge branch 'jk/filter-branch-require-clean-work-tree' into maint git-instaweb: Check that correct config file exists for (re)start lost-found: use git rev-parse -q merge-octopus: Work around environment issue on Windows Merge branch 'js/maint-merge-one-file-osx-expr' into maint Convert to use quiet option when available Merge branch 'maint' Merge branch 'jm/mergetool-pathspec' into maint-1.7.6 Merge branch 'mz/rebase' Merge branch 'ab/pull-rebase-config' git-quiltimport: preserve standard input to be able to read user input git-rebase--am: remove unnecessary --3way option "rebase -i": support special-purpose editor to edit insn sheet rebase -m: don't print exit code 2 when merge fails Merge branch 'jk/pull-rebase-with-work-tree' into maint
git-relink.perl Merge branch 'ab/require-perl-5.8' into maint (short) documentation for the testgit remote helper Merge branch 'tr/maint-git-repack-tmpfile' into maint request-pull: use the annotated tag contents
git-send-email.perl Merge branch 'md/smtp-tls-hello-again' gettext: add gettextln, eval_gettextln to encode common idiom use -h for synopsis and --help for manpage consistently Merge branch 'bc/unstash-clean-crufts' Merge branch 'tc/submodule-clone-name-detection'
git-svn.perl git-svn.perl: close the edit for propedits even with no mods git-web--browse: avoid the use of eval
git.c Merge branch 'jk/pager-with-external-command' gitweb: Add gitweb manpages to 'gitweb' package in git.spec
gpg-interface.c Split GPG interface into its own helper library
gpg-interface.h Split GPG interface into its own helper library
graph.c color: delay auto-color decision until point of use
graph.h Enable custom schemes for column colors in the graph API
grep.c Merge branch 'fk/use-kwset-pickaxe-grep-f'
grep.h Use kwset in grep
hash.c for_each_hash: allow passing a 'void *data' pointer to callback
hash.h for_each_hash: allow passing a 'void *data' pointer to callback
help.c Merge branch 'ms/help-unknown'
help.h builtin.h: Move two functions definitions to help.h.
hex.c get_sha1_hex(): do not read past a NUL character
http-backend.c zlib: zlib can only process 4GB at a time
http-fetch.c Merge branch 'jk/http-auth'
http-push.c Merge branch 'jc/match-refs-clarify'
http-walker.c http: make curl callbacks match contracts from curl header
http.c Merge branch 'mf/curl-select-fdset'
http.h Merge branch 'mf/curl-select-fdset'
ident.c ident: do not retrieve default ident when unnecessary
imap-send.c sparse: Fix some "Using plain integer as NULL pointer" warnings
kwset.c sparse: Fix an "Using plain integer as NULL pointer" warning
kwset.h Adapt the kwset code to Git
levenshtein.c Fix typos / spelling in comments
levenshtein.h Typofixes outside documentation area
list-objects.c tree_entry_interesting(): give meaningful names to return values
list-objects.h list-objects: pass callback data to show_objects()
ll-merge.c Rename git_checkattr() to git_check_attr()
ll-merge.h merge-recursive --patience
lockfile.c Name make_*_path functions more accurately
log-tree.c Merge branch 'js/log-show-children'
log-tree.h Allow customizable commit decorations colors
mailmap.c Merge branch 'ml/mailmap' into maint
mailmap.h mailmap.c: remove unused function
match-trees.c Make "subtree" part more orthogonal to the rest of merge-recursive.
merge-file.c sparse: Fix an "symbol 'merge_file' not decared" warning
merge-file.h sparse: Fix an "symbol 'merge_file' not decared" warning
merge-recursive.c merge: make usage of commit->util more extensible
merge-recursive.h merge-recursive: Save D/F conflict filenames instead of unlinking them
name-hash.c name-hash.c: always initialize dir_next pointer
notes-cache.c notes.h/c: Propagate combine_notes_fn return value to add_note() and …
notes-cache.h introduce notes-cache interface
notes-merge.c Merge branch 'nd/resolve-ref'
notes-merge.h git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
notes.c Do not use C++-style comments
notes.h notes: refactor display notes default handling
object.c receive-pack, fetch-pack: reject bogus pack that records objects twice
object.h object.h: Remove obsolete struct object_refs
pack-check.c fsck: print progress
pack-refs.c Change check_ref_format() to take a flags argument
pack-refs.h Move pack_refs() and friends into libgit
pack-revindex.c janitor: useless checks before free
pack-revindex.h discard revindex data when pack list changes
pack-write.c receive-pack, fetch-pack: reject bogus pack that records objects twice
pack.h Merge branch 'jc/index-pack-reject-dups'
pager.c setup_pager: set GIT_PAGER_IN_USE
parse-options-cb.c parseopt: add OPT_NOOP_NOARG
parse-options.c parse-options: deprecate OPT_BOOLEAN
parse-options.h parseopt: add OPT_NOOP_NOARG
patch-delta.c compat: helper for detecting unsigned overflow
patch-ids.c patch-ids: use the new generic "sha1_pos" function to lookup sha1
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch.
path.c Learn to handle gitfiles in enter_repo
pkt-line.c sparse: Fix errors and silence warnings
pkt-line.h pkt-line: Add strbuf based functions
preload-index.c Convert ce_path_match() to use struct pathspec
pretty.c Merge branch 'nd/pretty-commit-log-message'
progress.c change throughput display units with fast links
progress.h nicer display of thin pack completion
quote.c Merge branch 'jk/argv-array' into maint
quote.h quote: provide sq_dequote_to_argv_array
reachable.c reachable: per-object progress
reachable.h prune: show progress while marking reachable objects
read-cache.c Merge branch 'rs/allocate-cache-entry-individually'
reflog-walk.c Copy resolve_ref() return value for longer use
reflog-walk.h Introduce new pretty formats %g[sdD] for reflog information
refs.c Merge branch 'nd/resolve-ref'
refs.h Merge branch 'jc/broken-ref-dwim-fix'
remote-curl.c Merge branch 'jk/http-auth'
remote.c Convert many resolve_ref() calls to read_ref*() and ref_exists()
remote.h Merge branch 'cn/fetch-prune'
replace_object.c inline lookup_replace_object() calls
rerere.c Merge branch 'maint'
rerere.h rerere: libify rerere_clear() and rerere_gc()
resolve-undo.c Convert the users of for_each_string_list to for_each_string_list_ite…
resolve-undo.h build: make code "-Wpointer-arith" clean
revision.c Merge branch 'rs/pending'
revision.h Merge branch 'rs/pending'
run-command.c Merge branch 'jk/argv-array' into maint
run-command.h Enable threaded async procedures whenever pthreads is available
send-pack.h push: pass --progress down to git-pack-objects
sequencer.c revert: Introduce --reset to remove sequencer state
sequencer.h revert: rename --reset option to --quit
server-info.c update-server-info: Shorten read_pack_info_file()
setup.c Merge branch 'cb/common-prefix-unification'
sh-i18n--envsubst.c Merge branch 'js/i18n-windows'
sha1-array.c receive-pack: eliminate duplicate .have refs
sha1-array.h receive-pack: eliminate duplicate .have refs
sha1-lookup.c sha1-lookup: fix up the assertion message
sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
sha1_file.c Merge branch 'nd/misc-cleanups'
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix'
shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it.
shell.c shell: add missing initialization of argv0_path
shortlog.h pretty: Respect --abbrev option
show-index.c cleanup: use internal memory allocation wrapper functions everywhere
sideband.c Smart push over HTTP: client side
sideband.h recv_sideband: Bands #2 and #3 always go to stderr
sigchain.c refactor signal handling for cleanup functions
sigchain.h refactor signal handling for cleanup functions
strbuf.c fmt-merge-msg: Add contents of merged tag in the merge message
strbuf.h fmt-merge-msg: Add contents of merged tag in the merge message
streaming.c Merge branch 'jc/streaming-filter'
streaming.h Add streaming filter API
string-list.c string-list: Add API to remove an item from an unsorted list
string-list.h string-list: Add API to remove an item from an unsorted list
submodule.c Merge branch 'ab/clang-lints'
submodule.h submodule: Search for merges only at end of recursive merge
symlinks.c do not overwrite untracked symlinks
tag.c Split GPG interface into its own helper library
tag.h Add const to parse_{commit,tag}_buffer()
tar.h tar-tree: Introduce write_entry()
test-chmtime.c Typofixes outside documentation area
test-ctype.c test-ctype: add test for is_pathspec_magic
test-date.c test-date: fix sscanf type conversion
test-delta.c Nicolas Pitre has a new email address
test-dump-cache-tree.c add test-dump-cache-tree in Makefile
test-genrandom.c test-genrandom: ensure stdout is set to _O_BINARY on Windows
test-index-version.c Add test-index-version
test-line-buffer.c vcs-svn: remove buffer_read_string
test-match-trees.c A new merge stragety 'subtree'.
test-mktemp.c Improve error messages when temporary file creation fails
test-obj-pool.c Add memory pool library
test-parse-options.c parseopt: add OPT_NOOP_NOARG
test-path-utils.c test-path-utils: Add subcommand "prefix_path"
test-run-command.c tests: check error message from run_command
test-sha1.c Convert existing die(..., strerror(errno)) to die_errno() more tr portability test script fixes
test-sigchain.c t0005: use SIGTERM for sigchain test
test-string-pool.c Add string-specific memory pool
test-subprocess.c Remove unused variables
test-svn-fe.c vcs-svn: Check for errors from open()
test-treap.c treap: make treap_insert return inserted node
thread-utils.c Fix sparse warnings
thread-utils.h thread-utils.h: simplify the inclusion
trace.c Fix sparse warnings
transport-helper.c remote: avoid passing NULL to read_ref()
transport.c Merge branch 'jc/match-refs-clarify'
transport.h push: Don't push a repository with unpushed submodules
tree-diff.c tree_entry_interesting(): give meaningful names to return values
tree-walk.c tree_entry_interesting: make use of local pointer "item"
tree-walk.h tree_entry_interesting(): give meaningful names to return values
tree.c tree_entry_interesting(): give meaningful names to return values
tree.h Convert read_tree{,_recursive} to support struct pathspec Makefile: allow building without perl
unpack-trees.c tree-walk.c: do not leak internal structure in tree_entry_len()
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint
upload-pack.c Merge branch 'jc/fetch-verify'
url.c Merge branch 'jk/http-auth'
url.h url: decode buffers that are not NUL-terminated
usage.c error_routine: use parent's stderr if exec fails
userdiff.c Add built-in diff patterns for MATLAB code
userdiff.h refactor get_textconv to not require diff_filespec
utf8.c strbuf: add fixed-length version of add_wrapped_text
utf8.h strbuf: add fixed-length version of add_wrapped_text
walker.c Change check_ref_format() to take a flags argument
walker.h http: init and cleanup separately from http-walker wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
wrapper.c read_in_full: always report errors
write_or_die.c Convert existing die(..., strerror(errno)) to die_errno()
ws.c Rename git_checkattr() to git_check_attr()
wt-status.c Merge branch 'maint-1.7.3' into maint
wt-status.h Merge branch 'jn/status-translatable'
xdiff-interface.c add, merge, diff: do not use strcasecmp to compare config variable names
xdiff-interface.h Merge branch 'maint-1.7.0' into maint
zlib.c zlib: allow feeding more than 4GB in one go



	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

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

Many Git online resources are accessible from
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 To subscribe
to the list, send an email with just "subscribe git" in the body to The mailing list archives are available at 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.
Something went wrong with that request. Please try again.