- 16 5月, 2006 3 次提交
-
-
由 Nicolas Pitre 提交于
Avoid creating a delta index for objects with maximum depth since they are not going to be used as delta base anyway. This also reduce peak memory usage slightly as the current object's delta index is not useful until the next object in the loop is considered for deltification. This saves a bit more than 1% on CPU usage. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
Given that the early eviction of objects with maximum delta depth may exhibit bad packing on its own, why not considering a bias against deep base objects in try_delta() to mitigate that bad behavior. This patch adjust the MAX_size allowed for a delta based on the depth of the base object as well as enabling the early eviction of max depth objects from the object window. When used separately, those two things produce slightly better and much worse results respectively. But their combined effect is a surprising significant packing improvement. With this really simple patch the GIT repo gets nearly 15% smaller, and the Linux kernel repo about 5% smaller, with no significantly measurable CPU usage difference. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
The previous commit makes -u to mean "I do want to remove the local changes, just update it from the read tree" only for one-way merge. It makes sense to have it depend on the "--reset" flag instead. Signed-off-by: NLinus Torvalds <torvalds@osdl.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 15 5月, 2006 5 次提交
-
-
由 Junio C Hamano 提交于
The "-u" flag means "update the working tree files", but to other types of merges, it also implies "I want to keep my local changes" -- because they prevent local changes from getting lost by using verify_uptodate. The one-way merge is different from other merges in that its purpose is opposite of doing something else while keeping unrelated local changes. The point of one-way merge is to nuke local changes. So while it feels somewhat wrong that this actively loses local changes, it is the right thing to do. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
Now that the one-way merge strategy does the right thing wrt files that do not exist in the result, just remove all the random crud we did in "git reset" to do this all by hand. Instead, just pass in "-u" to git-read-tree when we do a hard reset, and depend on git-read-tree to update the working tree appropriately. This basically means that git reset turns into # Always update the HEAD ref git update-ref HEAD "$rev" case "--soft" # do nothing to index/working tree case "--hard" # read index _and_ update working tree git-read-tree --reset -u "$rev" case "--mixed" # update just index, report on working tree differences git-read-tree --reset "$rev" git-update-index --refresh which is what it was always semantically doing, it just did it in a rather strange way because it was written to not expect git-read-tree to do anything to the working tree. Signed-off-by: NLinus Torvalds <torvalds@osdl.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
For some random reason (probably just because nobody noticed), the one-way merge strategy didn't mark deleted files as deleted, so if you used git-read-tree -m -u <newtree> it would update the files that got changed in the index, but it would not delete the files that got deleted. This should fix it, and I can't imagine that anybody depends on the old strange "update only existing files" behaviour. Signed-off-by: NLinus Torvalds <torvalds@osdl.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
* fix: include header to define uint32_t, necessary on Mac OS X
-
由 Ben Clifford 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 14 5月, 2006 3 次提交
-
-
由 Junio C Hamano 提交于
* ml/cvs: Change to allow subdir updates from Eclipse Many fixes for most operations in Eclipse. Added logged warnings for CVS error returns cvsserver: use git-rev-list instead of git-log git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.
-
由 Junio C Hamano 提交于
* fix: Fix git-pack-objects for 64-bit platforms
-
由 Dennis Stosberg 提交于
The offset of an object in the pack is recorded as a 4-byte integer in the index file. When reading the offset from the mmap'ed index in prepare_pack_revindex(), the address is dereferenced as a long*. This works fine as long as the long type is four bytes wide. On NetBSD/sparc64, however, a long is 8 bytes wide and so dereferencing the offset produces garbage. [jc: taking suggestion by Linus to use uint32_t] Signed-off-by: NDennis Stosberg <dennis@stosberg.net> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 11 5月, 2006 1 次提交
-
-
由 Nicolas Pitre 提交于
It cannot be assumed that the given buffer will never be moved when shrinking the allocated memory size with realloc(). So let's ignore that optimization for now. This patch makes Electric Fence happy on Linux. Signed-off-by: NNicolas Pitre <nico@cam.org> Acked-by: NLinus Torvalds <torvalds@osdl.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 10 5月, 2006 11 次提交
-
-
由 Junio C Hamano 提交于
* fix: checkout: use --aggressive when running a 3-way merge (-m). revert/cherry-pick: use aggressive merge.
-
由 Junio C Hamano 提交于
After doing an in-index 3-way merge, we always do the stock "merge-index merge-one-file" without doing anything fancy; use of --aggressive helps performance quite a bit. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
After doing an in-index 3-way merge, we always do the stock "merge-index merge-one-file" without doing anything fancy; use of --aggressive helps performance quite a bit. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
* jc/clean: Teach git-clean optional <paths>... parameters.
-
由 Junio C Hamano 提交于
* mw/alternates: clone: don't clone the info/alternates file test case for transitive info/alternates Transitively read alternatives
-
由 Junio C Hamano 提交于
* jc/xsha1: get_sha1() - fix infinite loop on nonexistent stage. get_sha1(): :path and :[0-3]:path to extract from index.
-
由 Junio C Hamano 提交于
* jc/again: Fix users of prefix_path() to free() only when necessary update-index --again: take optional pathspecs update-index --again
-
由 Junio C Hamano 提交于
* np/delta: improve diff-delta with sparse and/or repetitive data tiny optimization to diff-delta replace adler32 with Rabin's polynomial in diff-delta use delta index data when finding best delta matches split the diff-delta interface
-
由 Junio C Hamano 提交于
* jc/bindiff: improve base85 generated assembly code binary diff and apply: testsuite. binary diff: further updates. binary patch.
-
由 Junio C Hamano 提交于
* fix: read-cache.c: use xcalloc() not calloc() apply: fix infinite loop with multiple patches with --index
-
http://locke.catalyst.net.nz/git/git-martinlanghoff由 Junio C Hamano 提交于
* 'tojunio' of http://locke.catalyst.net.nz/git/git-martinlanghoff: Change to allow subdir updates from Eclipse Many fixes for most operations in Eclipse. Added logged warnings for CVS error returns cvsserver: use git-rev-list instead of git-log git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.
-
- 09 5月, 2006 9 次提交
-
-
由 Yakov Lerner 提交于
Elsewhere we use xcalloc(); we should consistently do so. Signed-off-by: NYakov Lerner <iler.ml@gmail.com> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Eric Wong 提交于
When multiple patches are passed to git-apply, it will attempt to open multiple file descriptors to an index, which means multiple entries will be in the circular cache_file_list. This change makes git-apply only open the index once and write the index at exit. Signed-off-by: NEric Wong <normalperson@yhbt.net> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
When optional paths arguments are given, git-clean passes them to underlying git-ls-files; with this, you can say: git clean 'temp-*' to clean only the garbage files whose names begin with 'temp-'. Signed-off-by: NJunio C Hamano <junkio@cox.net> Signed-off-by: NPavel Roskin <proski@gnu.org>
-
由 Junio C Hamano 提交于
* fix: Separate object name errors from usage errors Documentation: {caret} fixes (git-rev-list.txt) Fix "git diff --stat" with long filenames Fix repo-config set-multivar error return path.
-
由 Dmitry V. Levin 提交于
Separate object name errors from usage errors. Signed-off-by: NDmitry V. Levin <ldv@altlinux.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
This code is arguably pretty hot, if you use binary patches of course. This patch helps gcc generate both smaller and faster code especially in the error free path. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
When we cut off the front of a filename to make it fit on the line, we add a "..." in front. However, the way the "git diff" code was written, we will never reset the prefix back to the empty string, so every single filename afterwards will have the "..." prefix, whether appropriate or not. You can see this with "git diff v2.6.16.." on the current kernel tree, since there are filenames with long names that changed there: [ snip snip ] Documentation/filesystems/vfs.txt | 229 .../firmware_class/firmware_sample_driver.c | 3 .../firmware_sample_firmware_class.c | 1 ...Documentation/fujitsu/frv/kernel-ABI.txt | 192 ...Documentation/hwmon/w83627hf | 4 [ snip snip ] notice how the two Documentation/firmware** filenames caused the "..." to be added, but then the later filenames don't want it, and it also screws up the alignment of the line numbering afterwards. Trivially fixed by moving the declaration (and initial setting) of the "prefix" variable into the for-loop where it is used. Signed-off-by: NLinus Torvalds <torvalds@osdl.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 08 5月, 2006 8 次提交
-
-
由 Junio C Hamano 提交于
This hopefully fixes the problem an earlier commit 5d8ee9ce attemted to fix. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Martin Waitz 提交于
Now that the cloned alternates file is parsed, too we don't need to copy it into our new repository, we just reference it. Signed-off-by: NMartin Waitz <tali@admingilde.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Martin Waitz 提交于
Signed-off-by: NMartin Waitz <tali@admingilde.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Martin Waitz 提交于
When adding an alternate object store then add entries from its info/alternates files, too. Relative entries are only allowed in the current repository. Loops and duplicate alternates through multiple repositories are ignored. Just to be sure that nothing breaks it is not allow to build deep nesting levels using info/alternates. Signed-off-by: NMartin Waitz <tali@admingilde.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Martyn Smith 提交于
(Now you can rightclick any directory and select team-update/team-commit) and it should work
-
由 Junio C Hamano 提交于
* fix: repack: honor -d even when no new pack was created clone: keep --reference even with -l -s repo-config: document what value_regexp does a bit more clearly. Release config lock if the regex is invalid core-tutorial.txt: escape asterisk
-
由 Peter Hagervall 提交于
You gotta love sparse: builtin-diff.c:88:4: error: Just how const do you want this type to be? Signed-off-by: NPeter Hagervall <hager@cs.umu.se> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Martin Waitz 提交于
If all objects are reachable via an alternate object store then we still have to remove all obsolete local packs. Signed-off-by: NMartin Waitz <tali@admingilde.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-