summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-05-13Bigfile: teach "git add" to send a large file straight to a packLibravatar Junio C Hamano2-1/+110
When adding a new content to the repository, we have always slurped the blob in its entirety in-core first, and computed the object name and compressed it into a loose object file. Handling large binary files (e.g. video and audio asset for games) has been problematic because of this design. At the middle level of "git add" callchain is an internal API index_fd() that takes an open file descriptor to read from the working tree file being added with its size. Teach it to call out to fast-import when adding a large blob. The write-out codepath in entry.c::write_entry() should be taught to stream, instead of reading everything in core. This should not be so hard to implement, especially if we limit ourselves only to loose object files and non-delta representation in packfiles. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-09index_fd(): split into two helper functionsLibravatar Junio C Hamano1-11/+31
Split out the case where we do not know the size of the input (hence we read everything into a strbuf before doing anything) to index_pipe(), and the other case where we mmap or read the whole data to index_bulk(). Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-09index_fd(): turn write_object and format_check arguments into one flagLibravatar Junio C Hamano6-23/+27
The "format_check" parameter tucked after the existing parameters is too ugly an afterthought to live in any reasonable API. Combine it with the other boolean parameter "write_object" into a single "flags" parameter. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-27Merge branch 'jc/pack-objects-bigfile'Libravatar Junio C Hamano6-9/+14
* jc/pack-objects-bigfile: Teach core.bigfilethreashold to pack-objects
2011-04-27Merge branch 'mh/git-svn-automkdirs'Libravatar Junio C Hamano3-2/+42
* mh/git-svn-automkdirs: git-svn: add an option to skip the creation of empty directories
2011-04-27Merge branch 'mg/reflog-with-options'Libravatar Junio C Hamano2-13/+35
* mg/reflog-with-options: reflog: fix overriding of command line options t/t1411: test reflog with formats builtin/log.c: separate default and setup of cmd_log_init()
2011-04-27Merge branch 'ar/clean-rmdir-empty'Libravatar Junio C Hamano2-1/+8
* ar/clean-rmdir-empty: clean: unreadable directory may still be rmdir-able if it is empty
2011-04-27Merge branch 'mg/sha1-path-advise'Libravatar Junio C Hamano2-9/+19
* mg/sha1-path-advise: sha1_name: Suggest commit:./file for path in subdir t1506: factor out test for "Did you mean..."
2011-04-27Automatically autoload bashcompinit for ZSH, when neededLibravatar Marius Storm-Olsen1-8/+8
If bashcompinit has not already been autoloaded, do so automatically, as it is required to properly parse the git-completion file with ZSH. Helped-by: Felipe Contreras Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-23Git 1.7.5Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-19Git 1.7.5-rc3Libravatar Junio C Hamano3-9/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-19Sync with 1.7.4.5Libravatar Junio C Hamano2-0/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-19Git 1.7.4.5Libravatar Junio C Hamano3-2/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-19git-svn.txt: Document --mergeinfoLibravatar Michael J Gruber1-0/+7
6abd933 (git-svn: allow the mergeinfo property to be set, 2010-09-24) introduced the --mergeinfo option. Document it. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-18Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"Libravatar Junio C Hamano1-11/+6
This reverts commit ebec842773932e6f853acac70c80f84209b5f83e, which somehow mistakenly thought that any non-zero return from write(2) is an error.
2011-04-14Merge branch 'maint'Libravatar Junio C Hamano4-3/+7
* maint: archive: document limitation of tar.umask config setting t3306,t5304: avoid clock skew issues git.txt: fix list continuation
2011-04-14archive: document limitation of tar.umask config settingLibravatar René Scharfe1-1/+2
The local value of the config variable tar.umask is not passed to the other side with --remote. We may want to change that, but for now just document this fact. Reported-by: Jacek Masiulaniec <jacek.masiulaniec@gmail.com> Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-14t3306,t5304: avoid clock skew issuesLibravatar Michael J Gruber2-1/+5
On systems where the local time and file modification time may be out of sync (e.g. test directory on NFS) t3306 and t5305 can fail because prune compares times such as "now" (client time) with file modification times (server times for remote file systems). I.e., these are spurious test failures. Avoid this by setting the relevant modification times to the local time. Noticed on a system with as little as 2s time skew. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-14git.txt: fix list continuationLibravatar Michael J Gruber1-1/+0
Remove a spurious empty line which prevented asciidoc from recognizing a list continuation mark ('+'), so that it does not get output literally any more. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-13Git 1.7.5-rc2Libravatar Junio C Hamano2-3/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-13Merge branch 'maint'Libravatar Junio C Hamano0-0/+0
* maint:
2011-04-13Merge branch 'jc/rev-list-options-fix' into maintLibravatar Junio C Hamano1-2/+2
* jc/rev-list-options-fix: "log --cherry-pick" documentation regression fix
2011-04-13Merge branch 'js/checkout-untracked-symlink' into maintLibravatar Junio C Hamano1-1/+1
* js/checkout-untracked-symlink: t2021: mark a test as fixed
2011-04-13remove doubled words, e.g., s/to to/to/, and fix related typosLibravatar Jim Meyering8-14/+11
I found that some doubled words had snuck back into projects from which I'd already removed them, so now there's a "syntax-check" makefile rule in gnulib to help prevent recurrence. Running the command below spotted a few in git, too: git ls-files | xargs perl -0777 -n \ -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt])\s+\1\b/gims)' \ -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g;' \ -e 'print "$ARGV:$n:$v\n"}' Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-13revert: Hide '-r' option in default usageLibravatar Ramkumar Ramachandra1-1/+2
The '-r' command-line option is a no-op provided only for backward compatiblity since abd6970 (cherry-pick: make -r the default, 2006-10-05), and somehow ended up surviving across reimplementation in C at 9509af6 (Make git-revert & git-cherry-pick a builtin, 2007-03-01) and another rewrite of the command line parser at f810379 (Make builtin-revert.c use parse_options, 2007-10-07). We should have stopped advertising the option long time ago. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-12Merge branch 'js/checkout-untracked-symlink'Libravatar Junio C Hamano1-1/+1
* js/checkout-untracked-symlink: t2021: mark a test as fixed
2011-04-12Merge branch 'nd/init-gitdir'Libravatar Junio C Hamano1-1/+1
* nd/init-gitdir: t0001: guard a new test with SYMLINKS prerequisite
2011-04-12t2021: mark a test as fixedLibravatar Johannes Sixt1-1/+1
The failure was fixed by the previous commit. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-11t0001: guard a new test with SYMLINKS prerequisiteLibravatar Johannes Sixt1-1/+1
Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-11Makefile: extract Q_() source strings as ngettext()Libravatar Ævar Arnfjörð Bjarmason1-1/+2
The Q_() wrapper added by 0c9ea33 (i18n: add stub Q_() wrapper for ngettext, 2011-03-09) needs to be noticed by xgettext. Add an appropriate --keyword option to the Makefile, so that "make pot" would notice the strings in the plural form marked with the wrapper. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-11i18n: avoid parenthesized string as array initializerLibravatar Ramsay Jones1-1/+1
The syntax static const char ignore_error[] = ("something"); is invalid C. A parenthesized string is not allowed as an array initializer. Some compilers, for example GCC and MSVC, allow this syntax as an extension, but it is not a portable construct. tcc does not parse it, for example. Remove the parenthesis from the definition of the N_() macro to fix this. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-11Merge git://git.bogomips.org/git-svnLibravatar Junio C Hamano2-3/+31
* git://git.bogomips.org/git-svn: git-svn: Cache results of running the executable "git config" git-svn: Add a svn-remote.<name>.pushurl config key
2011-04-11Merge git://git.kernel.org/pub/scm/gitk/gitkLibravatar Junio C Hamano2-23/+27
* git://git.kernel.org/pub/scm/gitk/gitk: gitk: Update cherry-pick error message parsing gitk: Quote tag names in event bindings to avoid problems with % chars gitk: Allow user to control how much of the SHA1 ID gets auto-selected gitk: spelling fixes in Russian translation gitk: Take only numeric version components when computing $git_version
2011-04-09git-svn: Cache results of running the executable "git config"Libravatar James Y Knight1-0/+5
Running programs is not cheap! Signed-off-by: James Y Knight <jknight@itasoftware.com> Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu> Acked-by: Eric Wong <normalperson@yhbt.net>
2011-04-09git-svn: Add a svn-remote.<name>.pushurl config keyLibravatar Alejandro R. Sedeño2-3/+26
Similar to the 'remote.<name>.pushurl' config key for git remotes, 'pushurl' is designed to be used in cases where 'url' points to an SVN repository via a read-only transport, to provide an alternate read/write transport. It is assumed that both keys point to the same repository. The 'pushurl' key is distinct from the 'commiturl' key in that 'commiturl' is a full svn path while 'pushurl' (like 'url') is a base path. 'commiturl' takes precendece over 'pushurl' in cases where either might be used. The 'pushurl' is used by git-svn's dcommit and branch commands. Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu> Reviewed-by: James Y Knight <jknight@itasoftware.com> Acked-by: Eric Wong <normalperson@yhbt.net>
2011-04-09gitk: Update cherry-pick error message parsingLibravatar Anders Kaseorg1-1/+1
Commit 981ff5c37ae20687c98d98c8689d5e89016026d2 changed the error message from git cherry-pick from Automatic cherry-pick failed. [...advice...] to error: could not apply 7ab78c9... Do something neat. [...advice...] Update gitk’s regex to match this, restoring the ability to launch git citool to resolve conflicted cherry-picks. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Paul Mackerras <paulus@samba.org>
2011-04-07git-p4: replace each tab with 8 spaces for consistencyLibravatar Andrew Garber1-32/+32
Note that the majority of git-p4 uses spaces, not tabs, for indentation. Consistent indentation is a good hygiene for Python scripts, and mixing tabs and spaces in Python can lead to hard-to-find bugs. Signed-off-by: Andrew Garber <andrew@andrewgarber.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-06Git 1.7.5-rc1Libravatar Junio C Hamano3-11/+14
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-06Sync with 1.7.4.4Libravatar Junio C Hamano1-6/+4
2011-04-06Git 1.7.4.4Libravatar Junio C Hamano3-8/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-06Merge branch 'nm/maint-conflicted-submodule-entries' into maintLibravatar Junio C Hamano3-9/+83
* nm/maint-conflicted-submodule-entries: submodule: process conflicting submodules only once
2011-04-06Merge branch 'mg/rev-list-n-reverse-doc' into maintLibravatar Junio C Hamano2-161/+163
* mg/rev-list-n-reverse-doc: git-log.txt,rev-list-options.txt: put option blocks in proper order git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting
2011-04-06Merge branch 'jk/maint-remote-mirror-safer'Libravatar Junio C Hamano3-19/+136
* jk/maint-remote-mirror-safer: remote: deprecate --mirror remote: separate the concept of push and fetch mirrors remote: disallow some nonsensical option combinations
2011-04-06Merge branch 'mg/doc-revisions-txt'Libravatar Junio C Hamano1-91/+107
* mg/doc-revisions-txt: revisions.txt: language improvements revisions.txt: structure with a labelled list revisions.txt: consistent use of quotes
2011-04-05Teach core.bigfilethreashold to pack-objectsLibravatar Junio C Hamano6-9/+14
The pack-objects command should take notice of the object file and refrain from attempting to delta large ones, to be consistent with the fast-import command. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-04revisions.txt: language improvementsLibravatar Michael J Gruber1-35/+35
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-04-04Merge branch 'maint'Libravatar Junio C Hamano2-6/+20
* maint: Documentation: trivial grammar fix in core.worktree description gitweb: Fix parsing of negative fractional timezones in JavaScript
2011-04-04Merge branch 'jl/submodule-fetch-on-demand'Libravatar Junio C Hamano13-37/+520
* jl/submodule-fetch-on-demand: fetch/pull: Describe --recurse-submodule restrictions in the BUGS section submodule update: Don't fetch when the submodule commit is already present fetch/pull: Don't recurse into a submodule when commits are already present Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option config: teach the fetch.recurseSubmodules option the 'on-demand' value fetch/pull: Add the 'on-demand' value to the --recurse-submodules option fetch/pull: recurse into submodules when necessary Conflicts: builtin/fetch.c submodule.c
2011-04-04Merge branch 'jc/rev-list-options-fix'Libravatar Junio C Hamano1-2/+2
* jc/rev-list-options-fix: "log --cherry-pick" documentation regression fix
2011-04-04Documentation: trivial grammar fix in core.worktree descriptionLibravatar SZEDER Gábor1-1/+1
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>