https://github.com/git/git

sort by:
Revision Author Date Message Commit Date
3ba1f11 git-add --all: add all files People sometimes find that "git add -u && git add ." are 13 keystrokes too many. This reduces it by nine. The support of this has been very low priority for me personally, because I almost never do "git add ." in a directory with already tracked files, and in a new directory, there is no point saying "git add -u". However, for two types of people (that are very different from me), this mode of operation may make sense and there is no reason to leave it unsupported. That is: (1) If you are extremely well disciplined and keep perfect .gitignore, it always is safe to say "git add ."; or (2) If you are extremely undisciplined and do not even know what files you created, and you do not very much care what goes in your history, it does not matter if "git add ." included everything. So there it is, although I suspect I will not use it myself, ever. It will be too much of a change that is against the expectation of the existing users to allow "git commit -a" to include untracked files, and it would be inconsistent if we named this new option "-a", so the short option is "-A". We _might_ want to later add "git commit -A" but that is a separate topic. Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 July 2008, 06:08:58 UTC
c972ec0 builtin-add.c: restructure the code for maintainability The implementation of "git add" has four major codepaths that are mutually exclusive: - if "--interactive" or "--patch" is given, spawn "git add--interactive" and exit without doing anything else. Otherwise things are handled internally in this C code; - if "--update" is given, update the modified files and exit without doing anything else; - if "--refresh" is given, do refresh and exit without doing anything else; - otherwise, find the paths that match pathspecs and stage their contents. It led to an unholy mess in the code structure; each of the latter three codepaths has a separate call to read_cache(), even though they are all about "read the current index, update it and write it back", and logically they should read the index once _anyway_. This cleans up the latter three cases by introducing a pair of helper variables: - "add_new_files" is set if we need to scan the working tree for paths that match the pathspec. This variable is false for "--update" and "--refresh", because they only work on already tracked files. - "require_pathspec" is set if the user must give at least one pathspec. "--update" does not need it but all the other cases do. This is in preparation for introducing a new option "--all", that does the equivalent of "git add -u && git add ." (aka "addremove"). Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 July 2008, 06:08:58 UTC
09651dd Getting closer to 1.6.0-rc0 Update the links to "stale" versions of documentation to link to 1.5.6.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 22:52:12 UTC
6796399 Merge branch 'maint' * maint: GIT 1.5.6.4 builtin-rm: fix index lock file path http-fetch: do not SEGV after fetching a bad pack idx file rev-list: honor --quiet option api-run-command.txt: typofix 19 July 2008, 18:28:06 UTC
03db452 Support gitlinks in fast-import. Currently fast-import/export cannot be used for repositories with submodules. This patch extends the relevant programs to make them correctly process gitlinks. Links can be represented by two forms of the Modify command: M 160000 SHA1 some/path which sets the link target explicitly, or M 160000 :mark some/path where the mark refers to a commit. The latter form can be used by importing tools to build all submodules simultaneously in one physical repository, and then simply fetch them apart. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:25:51 UTC
4a3fedd .mailmap update A few people sent in patches under slightly different spelling recently. Hopefully this catches most of them if not all (with help from Dscho). Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:25:51 UTC
c0be8aa Documentation/git-merge.txt: Partial rewrite of How Merge Works The git-merge documentation's "HOW MERGE WORKS" section is confusingly composed and actually omits the most interesting part, the merging of the arguments into HEAD itself, surprisingly not actually mentioning the fast-forward merge anywhere. This patch replaces the "[NOTE]" screenful of highly technical details by a single sentence summing up the interesting information, and instead explains how are the arguments compared with HEAD and the three possible inclusion states that are named "Already up-to-date", "Fast-forward" and "True merge". It also makes it clear that the rest of the section talks only about the true merge situation, and slightly expands the talk on solving conflicts. Junio initiated the removal of the Note screenful altogether and offered many stylistical fixes. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:25:27 UTC
8575ea5 archive: remove unused headers Remove obsolete #includes. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
3a176c6 archive: make zip compression level independent from core git zlib_compression_level is the compression level used for git's object store. It's 1 by default, which is the fastest setting. This variable is also used as the default compression level for ZIP archives created by git archive. For archives, however, zlib's own default of 6 is more appropriate, as it's favouring small size over speed -- archive creation is not that performance critical most of the time. This patch makes git archive independent from git's internal compression level setting. It affects invocations of git archive without explicitly specified compression level option, only. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
6259ac6 Documentation: How to ignore local changes in tracked files This patch explains more carefully that `.gitignore` concerns only untracked files and refers the reader to git update-index --assume-unchanged in the need of ignoring uncommitted changes in already tracked files. The description of this option is lifted to a more "porcelainish" level and explains the caveats of this usecase. Whether feasible or not, I believe adding this functionality to the porcelain is out of the scope of this patch. (And I personally think that referring to the plumbing in the case of such a special usage is fine.) This is currently probably one of the top FAQs at #git and the --assume-unchanged switch is not widely known; gitignore(5) is the first place where people are likely to look for it. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
c47f102 Documentation/git-submodule.txt: Further clarify the description This patch rewrites the general description yet again, first clarifying the high-level concept, mentioning the difference to remotes and using the subtree merge strategy, then getting to the details about tree entries and .gitmodules file. The patch also makes few smallar grammar fixups within the rest of the description and clarifies how does 'init' relate to 'update --init'. Cc: Heikki Orsila <shdl@zakalwe.fi> Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
c09df8a Add ANSI control code emulation for the Windows console This adds only the minimum necessary to keep git pull/merge's diffstat from wrapping. Notably absent is support for the K (erase) operation, and support for POSIX write. Signed-off-by: Peter Harris <git@peter.is-a-geek.org> Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
b8c5db3 builtin-clone: rewrite guess_dir_name() The function has to do three small and independent tasks, but all of them were crammed into a single loop. This rewrites the function entirely by unrolling these tasks. We also now use is_dir_sep(c) instead of c == '/' to increase portability. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
fe77b69 Teach lookup_prog not to select directories Without this simple fix "git gui" in the git source directory finds the git-gui directory instead of the tcl script in /usr/bin. Signed-off-by: Eric Raible <raible@gmail.com> Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
42f7a2d testsuite for cvs co -c Check that all branches are displayed. Signed-off-by: Fabian Emmes <fabian.emmes@rwth-aachen.de> Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
89a9167 cvsserver: Add cvs co -c support Implement cvs checkout's -c option by returning a list of all "modules". This is more useful than displaying a perl warning if -c is given. Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
b20171e cvsserver: Add support for packed refs req_update still parses /refs/heads manually. Replace this by a call to show-ref. Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:43 UTC
374488f Testsuite: Unset CVS_SERVER The CVS_SERVER environment variable can cause some of the cvsimport tests to fail. So unset this variable at the beginning of the test script. Signed-off-by: Fabian Emmes <fabian.emmes@rwth-aachen.de> Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:42 UTC
7856844 Link git-shell only to a subset of libgit.a Commit 5b8e6f85 introduced stubs for three functions that make no sense for git-shell. But those stubs defined libgit.a functions a second time so that a linker can complain. Now git-shell is only linked to a subset of libgit.a. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:42 UTC
bb3e4f0 t9001 (send-email): Do not use hardcoded /bin/sh in test Scriptlets used form inside this test began with hardcoded "#!/bin/sh". By setting SHELL_PATH the user is already telling us that what the vendor has in /bin/sh isn't POSIX enough, and we really should try to honor that request. Originally noticed by SungHyun Nam who later tested this patch and verified that it fixes the issue on Solaris 9. Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 18:17:42 UTC
a1b6fb0 GIT 1.5.6.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 17:58:01 UTC
4d26467 builtin-rm: fix index lock file path When hold_locked_index() is called with a relative git_dir and you are outside the work tree, the lock file become relative to the current directory. So when later setup_work_tree() change the current directory it breaks lock file path and commit_locked_index() fails. This patch move index locking code after setup_work_tree() call to make lock file relative to the working tree as it should be and add a test case. Noticed by Nick Andrew. Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 July 2008, 17:41:17 UTC
fcf74db Merge branch 'sp/maint-index-pack' into maint * sp/maint-index-pack: index-pack: Honor core.deltaBaseCacheLimit when resolving deltas index-pack: Track the object_entry that creates each base_data index-pack: Chain the struct base_data on the stack for traversal index-pack: Refactor base arguments of resolve_delta into a struct 18 July 2008, 22:39:51 UTC
a70c232 http-fetch: do not SEGV after fetching a bad pack idx file Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 July 2008, 07:11:40 UTC
d85fe38 rev-list: honor --quiet option Nick Andrew noticed that rev-list lets --quiet option to be parsed by underlying diff_options parser but did not pick up the result. This resulted in --quiet option to become effectively a no-op. Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 July 2008, 06:36:16 UTC
72972eb builtin-remote.c: fix earlier "skip_prefix()" conversion The original code relied on an insane definition of skip_prefix() that returned an empty string for a NULL input and returned the original if the given "prefix" is not a prefix at all (it would have been justifiable if it were called "come_up_with_a_short_name_to_report_ref()" or something, though). In any case, when we replaced it with a more saner definition of the function whose behaviour is true to its name, its callers needed to be adjusted but the conversion missed one call site. This introduces a helper function "abbrev_ref()" whose purpose is to get a full refname and its possible prefix and to strip the prefix part if it matches, or refname itself in full if it doesn't. This makes the callers easier to read again. Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 July 2008, 05:13:19 UTC
6c69207 api-run-command.txt: typofix Replace "run_command_v_opt_dir" by "run_command_v_opt_cd". Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 July 2008, 03:50:06 UTC
1b76ead Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles Note that v1.4.4.5 supports pack index v2, and describe how to keep your repositories backwards-compatible, shall you need to. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 July 2008, 18:19:39 UTC
1e102bf mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line A patch title "[PATCH] 1" was sanitized by the original code by stripping the "[PATCH]" from the front, but after the conversion to use strbuf this behaviour was broken due to a counting error. Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 July 2008, 05:42:04 UTC
3bf0dd1 read-cache.c: typofix Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 July 2008, 01:48:58 UTC
57cbf72 Update draft release notes for 1.6.0 Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 July 2008, 01:34:19 UTC
1f8dc67 Merge branch 'mv/dashless' * mv/dashless: make remove-dashes: apply to scripts and programs as well, not just to builtins git-bisect: use dash-less form on git bisect log t1007-hash-object.sh: use quotes for the test description t0001-init.sh: change confusing directory name 17 July 2008, 00:49:59 UTC
0513f24 Merge branch 'ls/mailinfo' * ls/mailinfo: git-mailinfo: use strbuf's instead of fixed buffers Add some useful functions for strbuf manipulation. Make some strbuf_*() struct strbuf arguments const. Conflicts: builtin-mailinfo.c 17 July 2008, 00:49:53 UTC
e38953a Documentation/git-submodule.txt: Add Description section Figuring out how submodules work conceptually is quite a bumpy ride for a newcomer; the user manual helps (if one knows to actually look into it), but the reference documentation should provide good quick intro as well. This patch attempts to do that, with suggestions from Heikki Orsila. Cc: Heikki Orsila <shdl@zakalwe.fi> Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 July 2008, 00:24:32 UTC
588c038 Merge branch 'sb/dashless' * sb/dashless: Make usage strings dash-less t/: Use "test_must_fail git" instead of "! git" t/test-lib.sh: exit with small negagive int is ok with test_must_fail Conflicts: builtin-blame.c builtin-mailinfo.c builtin-mailsplit.c builtin-shortlog.c git-am.sh t/t4150-am.sh t/t4200-rerere.sh 17 July 2008, 00:22:50 UTC
e75bf76 Merge branch 'rs/archive' * rs/archive: archive: remove extra arguments parsing code archive: unify file attribute handling archive: centralize archive entry writing archive: add baselen member to struct archiver_args add context pointer to read_tree_recursive() archive: remove args member from struct archiver 17 July 2008, 00:12:18 UTC
1c7ac06 Merge branch 'ag/blame' * ag/blame: Do not try to detect move/copy for entries below threshold. Avoid rescanning unchanged entries in search for copies. 17 July 2008, 00:12:11 UTC
5324a63 Merge branch 'rs/rebase-checkout-not-so-quiet' * rs/rebase-checkout-not-so-quiet: git-rebase: report checkout failure Conflicts: git-rebase.sh 17 July 2008, 00:12:09 UTC
7ed3fed Merge branch 'sp/maint-index-pack' * sp/maint-index-pack: index-pack: Honor core.deltaBaseCacheLimit when resolving deltas index-pack: Track the object_entry that creates each base_data index-pack: Chain the struct base_data on the stack for traversal index-pack: Refactor base arguments of resolve_delta into a struct 17 July 2008, 00:11:18 UTC
88bbda0 Merge branch 'maint' * maint: Start preparing 1.5.6.4 release notes git fetch-pack: do not complain about "no common commits" in an empty repo rebase-i: keep old parents when preserving merges t7600-merge: Use test_expect_failure to test option parsing Fix buffer overflow in prepare_attr_stack Fix buffer overflow in git diff Fix buffer overflow in git-grep git-cvsserver: fix call to nonexistant cleanupWorkDir() Documentation/git-cherry-pick.txt et al.: Fix misleading -n description Conflicts: RelNotes 17 July 2008, 00:10:28 UTC
473a189 Start preparing 1.5.6.4 release notes Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 22:55:51 UTC
ebcce31 git fetch-pack: do not complain about "no common commits" in an empty repo If the repo is empty, it is obvious that there are no common commits when fetching from _anywhere_. So there is no use in saying it in that case, and it can even be annoying. Therefore suppress the message unilaterally if the repository is empty prior to the fetch. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 22:53:43 UTC
013942f Merge branch 'js/maint-pretty-mailmap' into maint * js/maint-pretty-mailmap: Add pretty format %aN which gives the author name, respecting .mailmap 16 July 2008, 22:27:03 UTC
c9784cd Merge branch 'sp/maint-bash-completion-optim' into maint * sp/maint-bash-completion-optim: bash completion: Resolve git show ref:path<tab> losing ref: portion bash completion: Append space after file names have been completed bash completion: Don't offer "a.." as a completion for "a." bash completion: Improve responsiveness of git-log completion 16 July 2008, 22:25:24 UTC
bbe99ea Merge branch 'sp/maint-pack-memuse' into maint * sp/maint-pack-memuse: Correct pack memory leak causing git gc to try to exceed ulimit 16 July 2008, 22:24:07 UTC
614de95 Merge branch 'ls/maint-mailinfo-patch-label' into maint * ls/maint-mailinfo-patch-label: git-mailinfo: Fix getting the subject from the in-body [PATCH] line 16 July 2008, 22:23:19 UTC
2de3db2 Merge branch 'js/maint-daemon-syslog' into maint * js/maint-daemon-syslog: git daemon: avoid calling syslog() from a signal handler 16 July 2008, 22:22:05 UTC
1c5fa0a rebase-i: keep old parents when preserving merges When "rebase -i -p" tries to preserve merges of unrelated branches, it lost some parents: - When you have more than two parents, the commit in the new history ends up with fewer than expected number of parents and this breakage goes unnoticed; - When you are rebasing a merge with two parents and one is lost, the command tries to cherry-pick the original merge commit, and the command fails. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 22:13:53 UTC
01941bd t7600-merge: Use test_expect_failure to test option parsing It used plain 'if git merge ...', which hides a segfault. The test does not pass. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 21:27:09 UTC
f66cf96 Fix buffer overflow in prepare_attr_stack If PATH_MAX on your system is smaller than a path stored in the git repo, it may cause the buffer overflow in prepare_attr_stack. Signed-off-by: Dmitry Potapov <dpotapov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 21:05:50 UTC
fd55a19 Fix buffer overflow in git diff If PATH_MAX on your system is smaller than a path stored, it may cause buffer overflow and stack corruption in diff_addremove() and diff_change() functions when running git-diff Signed-off-by: Dmitry Potapov <dpotapov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 21:03:24 UTC
620e2bb Fix buffer overflow in git-grep If PATH_MAX on your system is smaller than any path stored in the git repository, that can cause memory corruption inside of the grep_tree function used by git-grep. Signed-off-by: Dmitry Potapov <dpotapov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 20:30:34 UTC
dd33927 t/Makefile: use specified shell when running aggregation script Signed-off-by: SungHyun Nam <goweol@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:59:14 UTC
df4b3ab git-cvsserver: fix call to nonexistant cleanupWorkDir() git-cvsserver.perl contained a single call to a nonexistant function cleanupWorkDir(). This was obviously a typo for cleanupWorkTree(). Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:53:51 UTC
1121a87 parse-options.c: make check_typos() static This function is not used by any other file. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:50:36 UTC
cb2a1cc builtin-describe.c: make a global variable "pattern" static This variable is not used by any other file. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:50:32 UTC
7ba04d9 cache-tree.c: make cache_tree_find() static This function is not used by any other file. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:50:27 UTC
8bd867e Documentation/git-cherry-pick.txt et al.: Fix misleading -n description The manual page of git-cherry-pick and git-revert asserts that -n works primarily on the working tree, while in fact the primary object it operates on is the index, and the changes only "accidentally" propagate to the working tree. This e.g. leads innocent #git IRC folks to believe that you can use -n to prepare changes for git-add -i staging. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:50:07 UTC
300072f t/aggregate-results: whitespace fix Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:42:52 UTC
3901a8c t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory" Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 15:11:15 UTC
fcab40a Merge branch 'mv/merge-in-c' * mv/merge-in-c: reduce_heads(): protect from duplicate input reduce_heads(): thinkofix Add a new test for git-merge-resolve t6021: add a new test for git-merge-resolve Teach merge.log to "git-merge" again Build in merge Fix t7601-merge-pull-config.sh on AIX git-commit-tree: make it usable from other builtins Add new test case to ensure git-merge prepends the custom merge message Add new test case to ensure git-merge reduces octopus parents when possible Introduce reduce_heads() Introduce get_merge_bases_many() Add new test to ensure git-merge handles more than 25 refs. Introduce get_octopus_merge_bases() in commit.c git-fmt-merge-msg: make it usable from other builtins Move read_cache_unmerged() to read-cache.c Add new test to ensure git-merge handles pull.twohead and pull.octopus Move parse-options's skip_prefix() to git-compat-util.h Move commit_list_count() to commit.c Move split_cmdline() to alias.c Conflicts: Makefile parse-options.c 16 July 2008, 02:09:46 UTC
c158cae Merge branch 'ag/rewrite_one' * ag/rewrite_one: Fix quadratic performance in rewrite_one. 16 July 2008, 01:59:48 UTC
223bb84 Merge branch 'sp/win' * sp/win: We need to check for msys as well as Windows in add--interactive. Convert CR/LF to LF in tag signatures Fixed text file auto-detection: treat EOF character 032 at the end of file as printable 16 July 2008, 01:59:45 UTC
1466080 Merge branch 'js/more-win' * js/more-win: help (Windows): Display HTML in default browser using Windows' shell API help.c: Add support for htmldir relative to git_exec_path() Move code interpreting path relative to exec-dir to new function system_path() 16 July 2008, 01:59:28 UTC
fab600c Merge branch 'js/maint-pretty-mailmap' * js/maint-pretty-mailmap: Add pretty format %aN which gives the author name, respecting .mailmap 16 July 2008, 01:59:04 UTC
28ed6e7 Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge" Since the files generated and used during a rebase are never to be tracked, they should live in $GIT_DIR. While at it, avoid the rather meaningless term "dotest" to "rebase", and unhide ".dotest-merge". This was wished for on the mailing list, but so far unimplemented. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 July 2008, 01:49:28 UTC
1617fe9 Do not try to detect move/copy for entries below threshold. Splits for such entries are rejected anyway, so there is no point even trying to compute them. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 23:38:33 UTC
eb46328 Avoid rescanning unchanged entries in search for copies. Repeatedly comparing the same entry against the same set of blobs in search for copies is quite pointless. This huge waste of effort can be avoided using a flag in the blame_entry structure. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 23:38:32 UTC
6c11a5f Update draft release notes to 1.6.0 Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:38:35 UTC
b526f8e shortlog: support --pretty=format: option With this patch, the user can override the default setting, to print the commit messages using a user format instead of the onelines of the commits. Example: $ git shortlog --pretty='format:%s (%h)' <commit>.. Note that shortlog will only respect a user format setting, as the other formats do not make much sense. Wished for by Andrew Morton. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:37:00 UTC
1e5aaa6 Make git-add -i accept ranges like 7- git-add -i ranges expect number-number. But for the supremely lazy, typing in that second number when selecting "from patch 7 to the end" is wasted effort. So treat an empty second number in a range as "until the last item". Signed-off-by: Ciaran McCreesh <ciaran.mccreesh@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:37:00 UTC
a271b2a t9600: allow testing with cvsps 2.2, including beta versions We've supported cvsps 2.1 so far. Newer 2.2b1 (beta) seems to work with us, too. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:37:00 UTC
489e351 archive: remove extra arguments parsing code Replace the code that calls backend specific argument parsers by a simple flag mechanism. This reduces code size and complexity. We can add back such a mechanism (based on incremental parse_opt(), perhaps) when we need it. The compression level parameter, though, is going to be shared by future compressing backends like tgz. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:18:04 UTC
1d11d5b archive: unify file attribute handling Now that all file attribute handling for git archive has moved to archive.c, we can unexport sha1_file_to_archive() and is_archive_path_ignored() even disappears. Add setup_archive_check(), modelled after similar functions used in the code of other commands that support multiple file attributes. Also remove convert_to_archive(), as it's only remaining function with attribute handling gone was to call format_subst() if commit was not NULL, which is now checked in sha1_file_to_archive(). Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:18:04 UTC
562e25a archive: centralize archive entry writing Add the exported function write_archive_entries() to archive.c, which uses the new ability of read_tree_recursive() to pass a context pointer to its callback in order to centralize previously duplicated code. The new callback function write_archive_entry() does the work that every archiver backend needs to do: loading file contents, entering subdirectories, handling file attributes, constructing the full path of the entry. All that done, it calls the backend specific write_archive_entry_fn_t function. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:18:04 UTC
d53fe81 archive: add baselen member to struct archiver_args Calculate the length of base and save it in a new member of struct archiver_args. This way we don't have to compute it in each of the format backends. Note: parse_archive_args() guarantees that ->base won't ever be NULL. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:18:04 UTC
671f070 add context pointer to read_tree_recursive() Add a pointer parameter to read_tree_recursive(), which is passed to the callback function. This allows callers of read_tree_recursive() to share data with the callback without resorting to global variables. All current callers pass NULL. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:17:59 UTC
3453300 archive: remove args member from struct archiver Pass struct archiver and struct archiver_args explicitly to parse_archive_args and remove the latter from the former. This allows us to get rid of struct archiver_desc and simplifies the code a bit. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 14:08:11 UTC
92392b4 index-pack: Honor core.deltaBaseCacheLimit when resolving deltas If we are trying to resolve deltas for a long delta chain composed of multi-megabyte objects we can easily run into requiring 500M+ of memory to hold each object in the chain on the call stack while we recurse into the dependent objects and resolve them. We now use a simple delta cache that discards objects near the bottom of the call stack first, as they are the most least recently used objects in this current delta chain. If we recurse out of a chain we may find the base object is no longer available, as it was free'd to keep memory under the deltaBaseCacheLimit. In such cases we must unpack the base object again, which will require recursing back to the root of the top of the delta chain as we released that root first. The astute reader will probably realize that we can still exceed the delta base cache limit, but this happens only if the most recent base plus the delta plus the inflated dependent sum up to more than the base cache limit. Due to the way patch_delta is currently implemented we cannot operate in less memory anyway. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 13:37:44 UTC
03993e1 index-pack: Track the object_entry that creates each base_data If we free the data stored within a base_data we need the struct object_entry to get the data back again for use with another dependent delta. Storing the object_entry* in base_data makes it simple to call get_data_from_pack() to recover the compressed information. This however means that we must add the missing base object to the end of our packfile prior to calling resolve_delta() on each of the dependent deltas. Adding the base first ensures we can read the base back from the pack we are indexing, as if it had been included by the remote side. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 13:36:49 UTC
4a438ca index-pack: Chain the struct base_data on the stack for traversal We need to release earlier inflated base objects when memory gets low, which means we need to be able to walk up or down the stack to locate the objects we want to release, and free their data. The new link/unlink routines allow inserting and removing the struct base_data during recursion inside resolve_delta, and the global base_cache gives us the head of the chain (bottom of the stack) so we can traverse it. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 13:30:59 UTC
f41aebd index-pack: Refactor base arguments of resolve_delta into a struct We need to discard base objects which are not recently used if our memory gets low, such as when we are unpacking a long delta chain of a very large object. To support tracking the available base objects we combine the pointer and size into a struct. Future changes would allow the data pointer to be free'd and marked NULL if memory gets low. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 13:27:09 UTC
547905f Merge git://repo.or.cz/git-gui * git://repo.or.cz/git-gui: git-gui: MERGE_RR lives in .git/ directly with newer Git versions git-gui: Exit shortcut in MacOSX repaired 15 July 2008, 07:08:02 UTC
ebcffb1 Merge branch 'js/merge-rr' * js/merge-rr: Move MERGE_RR from .git/rr-cache/ into .git/ Conflicts: builtin-rerere.c 15 July 2008, 06:56:27 UTC
1864265 Merge branch 'sb/rerere-lib' * sb/rerere-lib: rerere: Separate libgit and builtin functions 15 July 2008, 06:47:48 UTC
abce32b Merge branch 'ls/maint-mailinfo-patch-label' * ls/maint-mailinfo-patch-label: git-mailinfo: Fix getting the subject from the in-body [PATCH] line 15 July 2008, 06:47:23 UTC
19792b2 Merge branch 'om/rerere-careful' * om/rerere-careful: builtin-rerere: more carefully find conflict markers 15 July 2008, 06:47:14 UTC
b773fc3 Merge branch 'jc/branch-merged' * jc/branch-merged: branch --merged/--no-merged: allow specifying arbitrary commit branch --contains: default to HEAD parse-options: add PARSE_OPT_LASTARG_DEFAULT flag Conflicts: Documentation/git-branch.txt 15 July 2008, 06:47:01 UTC
633ce9a Merge branch 'jc/rebase-orig-head' * jc/rebase-orig-head: Documentation: mention ORIG_HEAD in am, merge, and rebase Teach "am" and "rebase" to mark the original position with ORIG_HEAD 15 July 2008, 06:45:49 UTC
0557671 bash completion: Remove dashed command completion support Since only 'git' and 'gitk' are in the user's $PATH now we do not expect users to need completion support for git-fetch, and expect they will instead rely upon the completion support for 'git fetch'. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:37:42 UTC
3df6499 Merge branch 'sp/maint-bash-completion-optim' * sp/maint-bash-completion-optim: bash completion: Resolve git show ref:path<tab> losing ref: portion bash completion: Append space after file names have been completed 15 July 2008, 06:36:08 UTC
ac93910 restore legacy behavior for read_sha1_file() Since commit 8eca0b47ff1598a6d163df9358c0e0c9bd92d4c8, it is possible for read_sha1_file() to return NULL even with existing objects when they are corrupted. Previously a corrupted object would have terminated the program immediately, effectively making read_sha1_file() return NULL only when specified object is not found. Let's restore this behavior for all users of read_sha1_file() and provide a separate function with the ability to not terminate when bad objects are encountered. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:32 UTC
25a1f37 bash: Add long option completion for 'git send-email' Add the following long options to be completed with 'git send-email': --bcc --cc --cc-cmd --chain-reply-to --compose --dry-run --envelope-sender --from --identity --in-reply-to --no-chain-reply-to --no-signed-off-by-cc --no-suppress-from --no-thread --quiet --signed-off-by-cc --smtp-pass --smtp-server --smtp-server-port --smtp-ssl --smtp-user --subject --suppress-cc --suppress-from --thread --to Short ones like --to and --cc are not usable for actual completion because of the shortness itself and because there are longer ones which start with same letters (--thread, --compose). It's still useful to have these shorter options _listed_ when user presses TAB key after typing two dashes. It gives user an idea what options are available (and --to and --cc are probably the most commonly used). Signed-off-by: Teemu Likonen <tlikonen@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:32 UTC
c2f9391 git-submodule - register submodule URL if adding in place When adding a new submodule in place, meaning the user created the submodule as a git repo in the superproject's tree first, we don't go through "git submodule init" to register the module. Thus, the submodule's origin repository URL is not stored in .git/config, and no subsequent submodule operation will ever do so. In this case, assume the URL the user supplies to "submodule add" is the one that should be registered, and do so. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:32 UTC
ec05df3 git-submodule - make "submodule add" more strict, and document it This change makes "submodule add" much more strict in the arguments it takes, and is intended to address confusion as recently noted on the git-list. With this change, the required syntax is: $ git submodule add URL path Specifically, this eliminates the form $ git submodule add URL which was confused by more than one person as $ git submodule add path With this patch, the URL locating the submodule's origin repository can be either an absolute URL, or (if it begins with ./ or ../) can express the submodule's repository location relative to the superproject's origin. This patch also eliminates a third form of URL, which was relative to the superproject's top-level directory (not its repository). Any URL that was neither absolute nor matched ./*|../* was assumed to point to a subdirectory of the superproject as the location of the submodule's origin repository. This URL form was confusing and does not seem to correspond to an important use-case. Specifically, no-one has identified the need to clone from a repository already in the superproject's tree, but if this is needed it is easily done using an absolute URL: $(pwd)/relative-path. So, no functionality is lost with this patch. (t6008-rev-list-submodule.sh did rely upon this relative URL, fixed by using $(pwd).) Following this change, there are exactly four variants of submodule-add, as both arguments have two flavors: URL can be absolute, or can begin with ./|../ and thus names the submodule's origin relative to the superproject's origin. Note: With this patch, "submodule add" discerns an absolute URL as matching /*|*:*: e.g., URL begins with /, or it contains a :. This works for all valid URLs, an absolute path in POSIX, as well as an absolute path on Windows). path can either already exist as a valid git repo, or will be cloned from the given URL. The first form here eases creation of a new submodule in an existing superproject as the submodule can be added and tested in-tree before pushing to the public repository. However, the more usual form is the second, where the repo is cloned from the given URL. This specifically addresses the issue of $ git submodule add a/b/c attempting to clone from a repository at "a/b/c" to create a new module in "c". This also simplifies description of "relative URL" as there is now exactly *one* form: a URL relative to the parent's origin repo. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:31 UTC
8f510be git-svn: typofix Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:31 UTC
63c5602 git-svn: find-rev and rebase for SVN::Mirror repositories find-rev and rebase error out on svm because git-svn doesn't trace the original svn revision numbers back to git commits. The updated test case, included in the patch, shows the issue and passes with the rest of the patch applied. This fixes Git::SVN::find_by_url to find branches based on the svm:source URL, where useSvmProps is set. Also makes sure cmd_find_rev and working_head_info use the information they have to correctly track the source repository. This is enough to get find-rev and rebase working. Signed-off-by: João Abecasis <joao@abecasis.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:31 UTC
dc29bc8 tutorial: clarify "pull" is "fetch + merge" The document says that a fetch with a configured remote stores what are fetched in the remote tracking branches "Unlike the longhand form", but there is no longhand form "fetch" demonstrated earlier. This adds a missing demonstration of the longhand form, and a new paragraph to explain why some people might want to fetch before pull. Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:31 UTC
5d5e88a tutorial: use prompt with user names in example, to clarify who is doing what Signed-off-by: Ian Katz <ifreecarve@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:31 UTC
db8a9ff bash completion: Resolve git show ref:path<tab> losing ref: portion Linus reported that the bash completion for git show often dropped the ref portion of the argument (stuff before the :) when trying to complete a file name of a file in another branch or tag. Björn Steinbrink tracked it down to the gvfs completion script which comes standard on many Fedora Core based systems. That is removing : from COMP_WORDBREAKS, making readline treat the entire argument (including the ref) as the name that must be completed. When the git completion routines supplied a completion of just the filename, readline replaced everything. Since Git users often need to use "ref:path" or "ref:ref" sort of arguments, and expect completion support on both sides of the : we really want the : in COMP_WORDBREAKS to provide a good user experience. This is also the default that ships with bash as it can be useful in other contexts, such as rcp/scp. We now try to add : back to COMP_WORDBREAKS if it has been removed by a script that loaded before us. However if this doesn't work (as the : is stripped after we load) we fallback in the completion routines to include "ref:" as part of the prefix for completions, allowing readine to fully insert the argument the user wanted. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 July 2008, 06:35:18 UTC
back to top