- 19 3月, 2007 6 次提交
-
-
由 Linus Torvalds 提交于
This is a micro-optimization that grew out of the mailing list discussion about "strlen()" showing up in profiles. We used to pass regular C strings around to the low-level tree walking routines, and while this worked fine, it meant that we needed to call strlen() on strings that the caller always actually knew the size of anyway. So pass the length of the string down wih the string, and avoid unnecessary calls to strlen(). Also, when extracting a pathname from a tree entry, use "tree_entry_len()" instead of strlen(), since the length of the pathname is directly calculable from the decoded tree entry itself without having to actually do another strlen(). This shaves off another ~5-10% from some loads that are very tree intensive (notably doing commit filtering by a pathspec). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
A malloc() + memcpy() will always be faster than mmap() + malloc() + inflate(). If the data is already there it is certainly better to copy it straight away. With this patch below I can do 'git log drivers/scsi/ > /dev/null' about 7% faster. I bet it might be even more on those platforms with bad mmap() support. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
This trivial 256-entry delta_base cache improves performance for some loads by a factor of 2.5 or so. Instead of always re-generating the delta bases (possibly over and over and over again), just cache the last few ones. They often can get re-used. Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Linus Torvalds 提交于
This doesn't change any code, it just creates a point for where we'd actually do the caching of delta bases that have been generated. Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
-
由 Junio C Hamano 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 17 3月, 2007 6 次提交
-
-
由 Junio C Hamano 提交于
* maint: git-merge: finish when git-read-tree fails
-
由 Nicolas Pitre 提交于
Especially with the new index format to come, it is more appropriate to encapsulate more into check_packed_git_idx() and assume less of the index format in struct packed_git. To that effect, the index_base is renamed to index_data with void * type so it is not used directly but other pointers initialized with it. This allows for a couple pointer cast removal, as well as providing a better generic name to grep for when adding support for new index versions or formats. And index_data is declared const too while at it. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
Make sure pack-objects with --delta-base-offset works fine, and that it actually produces smaller packs as expected. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
The 'use packed deltified objects' test was flawed as it failed to remove the pack and index from the previous test, effectively preventing the desired pack from being exercised as objects could be found in that other pack instead. Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Nicolas Pitre 提交于
Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
An earlier patch 87ab7992 broke applymbox by blindly copying piece from git-am, causing a harmless but annoying series of error messages. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 16 3月, 2007 3 次提交
-
-
由 Santi Béjar 提交于
The message formating (commit v1.5.0.3-28-gbe242d57) broke the && chain. Noticed by Dmitry Torokhov. Signed-off-by: NSanti Béjar <sbejar@gmail.com> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Shawn O. Pearce 提交于
We generally prefer xstrdup to just plain strdup. Make it so. Signed-off-by: NShawn O. Pearce <spearce@spearce.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Paolo Bonzini 提交于
This patch adds support for a dummy remote '.' to avoid having to declare a fake remote like [remote "local"] url = . fetch = refs/heads/*:refs/heads/* Such a builtin remote simplifies the operation of "git-fetch", which will populate FETCH_HEAD but will not pretend that two repositories are in use, will not create a thin pack, and will not perform any useless remapping of names. The speed improvement is around 20%, and it should improve more if "git-fetch" is converted to a builtin. To this end, git-parse-remote is grown with a new kind of remote, 'builtin'. In git-fetch.sh, we treat the builtin remote specially in that it needs no pack/store operations. In fact, doing git-fetch on a builtin remote will simply populate FETCH_HEAD appropriately. The patch also improves of the --track/--no-track support, extending it so that branch.<name>.remote items referring '.' can be created. Finally, it fixes a typo in git-checkout.sh. Signed-off-by: NPaolo Bonzini <bonzini@gnu.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 15 3月, 2007 5 次提交
-
-
由 Junio C Hamano 提交于
-
由 Junio C Hamano 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Yann Dirson 提交于
Previous formulation could make it appear as removing all lines matching a regexp (at least, I was looking for such a flag, and confused this flag for what I was looking for). Signed-off-by: NYann Dirson <ydirson@altern.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
The symbolic notation of the fork point can contain whitespaces (e.g. "git checkout -m 'HEAD@{9 hours ago}'"). Quote strings properly when using eval to prepare GITHEAD_$new Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Andy Parkins 提交于
Previously git-describe would output lines of the form v1.1.1-gf509d56 The update hook found the dash and stripped it off using sed 's/-g.*//' The remainder was then used as the previous tag name. However, git-describe has changed format. The output is now of the form v1.1.1-23-gf509d56 The above sed fragment doesn't strip the middle "-23", and so the previous tag name used would be "v1.1.1-23". This is incorrect. Since the hook script was written, git-describe now gained support for "--abbrev=0", which it uses as a special flag to tell it not to output anything other than the nearest tag name. This patch fixes the problem, and prevents any future recurrence by using this new flag rather than sed to find the previous tag. Signed-off-by: NAndy Parkins <andyparkins@gmail.com> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
- 14 3月, 2007 14 次提交
-
-
由 Junio C Hamano 提交于
* jc/repack: prepare_packed_git(): sort packs by age and localness.
-
由 Junio C Hamano 提交于
* jc/fetch: .gitignore: add git-fetch--tool builtin-fetch--tool: fix reflog notes. git-fetch: retire update-local-ref which is not used anymore. builtin-fetch--tool: make sure not to overstep ls-remote-result buffer. fetch--tool: fix uninitialized buffer when reading from stdin builtin-fetch--tool: adjust to updated sha1_object_info(). git-fetch--tool takes flags before the subcommand. Use stdin reflist passing in git-fetch.sh Use stdin reflist passing in parse-remote Allow fetch--tool to read from stdin git-fetch: rewrite expand_ref_wildcard in C git-fetch: rewrite another shell loop in C git-fetch: move more code into C. git-fetch--tool: start rewriting parts of git-fetch in C. git-fetch: split fetch_main into fetch_dumb and fetch_native
-
由 Junio C Hamano 提交于
* dz/mailinfo: Add a couple more test cases to the suite. restrict the patch filtering builtin-mailinfo.c infrastrcture changes
-
由 Junio C Hamano 提交于
* jb/per-user-exclude: add: Support specifying an excludes file with a configuration variable
-
由 Junio C Hamano 提交于
* maint: cvsserver: asciidoc formatting changes
-
由 Junio C Hamano 提交于
* pb/branch-track: Fix broken create_branch() in builtin-branch. git-branch, git-checkout: autosetup for remote branch tracking
-
由 Jim Meyering 提交于
If you use scanf or sscanf to parse integers, your code probably accepts bogus inputs. For example, builtin-grep (aka git-grep) uses sscanf(scan, "%u", &num) to parse the integer argument to -A, -B, -C. Currently, "-C 1,000" and "-C 4294967297" are both treated just like "-C 1": $ git-grep -h -C 4294967297 juggle out and you may find it easier to switch back and forth if you juggle multiple lines of development simultaneously. Of course, you will pay the price of more disk usage to hold The obvious fix is to use strtoul instead. But using a bare strtoul is too messy, at least when done properly, so I've added a wrapper function. The new function in the patch below belongs elsewhere if it would be useful in replacing any of the four remaining uses of sscanf. One final note: With this change, I get a slightly different diagnostic depending on the context size: $ ./git-grep -h -C 4294967296 juggle fatal: 4294967296: invalid context length argument [Exit 128] $ ./git-grep -h -C 4294967295 juggle grep: 4294967295: invalid context length argument [Exit 1] A common convention that makes it easy to identify the source of a diagnostic is to include the program name before the first ":". Whether that should be "git" or "git-grep" is another question. Using "grep" or "fatal" is misleading. Signed-off-by: NJim Meyering <jim@meyering.net> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Johannes Schindelin 提交于
This fixes the same issue as 8bef6204, which became an issue again after 31d0399c. Besides, it is not really helpful to print just "GEN " (_without_ "perl.mak"). Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
I was trying to see who have been active recently to find GSoC mentor candidates by running: $ git shortlog -s -n --since=4.months | head -n 20 After waiting for about 20 seconds, I started getting worried, thinking that the recent revision traversal updates might have had an unintended side effect. Not so. "git shortlog" acts as a filter when no revs are given, unlike "git log" which defaults to HEAD. It was reading from its standard input. Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Junio C Hamano 提交于
Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
git://repo.or.cz/git/mergetool由 Junio C Hamano 提交于
* 'master' of git://repo.or.cz/git/mergetool: Add git-mergetool to run an appropriate merge conflict resolution program
-
由 Eric Wong 提交于
This avoids fetching new revisions remotely, and is usefuly versus plain "git rebase" because the user does not have to specify which remote head to rebase against. Signed-off-by: NEric Wong <normalperson@yhbt.net> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Frank Lichtenheld 提交于
Format some lists really as lists. Improves both html and man output. Signed-off-by: NFrank Lichtenheld <frank@lichtenheld.de> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Theodore Ts'o 提交于
The git-mergetool program can be used to automatically run an appropriate merge resolution program to resolve merge conflicts. It will automatically run one of kdiff3, tkdiff, meld, xxdiff, or emacs emerge programs. Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
-
- 13 3月, 2007 6 次提交
-
-
由 Don Zickus 提交于
They handle cases where there is no attached patch. Signed-off-by: NDon Zickus <dzickus@redhat.com> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Don Zickus 提交于
I have come across many emails that use long strings of '-'s as separators for ideas. This patch below limits the separator to only 3 '-', with the intent that long string of '-'s will stay in the commit msg and not in the patch file. Signed-off-by: NDon Zickus <dzickus@redhat.com> Acked-by: NLinus Torvalds <torvalds@linux-foundation.org> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
由 Don Zickus 提交于
I am working on a project that required parsing through regular mboxes that didn't necessarily have patches embedded in them. I started by creating my own modified copy of git-am and working from there. Very quickly, I noticed git-mailinfo wasn't able to handle a big chunk of my email. After hacking up numerous solutions and running into more limitations, I decided it was just easier to rewrite a big chunk of it. The following patch has a bunch of fixes and features that I needed in order for me do what I wanted. Note: I'm didn't follow any email rfc papers but I don't think any of the changes I did required much knowledge (besides the boundary stuff). List of major changes/fixes: - can't create empty patch files fix - empty patch files don't fail, this failure will come inside git-am - multipart boundaries are now handled - only output inbody headers if a patch exists otherwise assume those headers are part of the reply and instead output the original headers - decode and filter base64 patches correctly - various other accidental fixes I believe I didn't break any existing functionality or compatibility (other than what I describe above, which is really only the empty patch file). I tested this through various mailing list archives and everything seemed to parse correctly (a couple thousand emails). [jc: squashed in another patch from Don's five patch series to fix the test case, as this patch exposes the bug in the test.] Signed-off-by: NDon Zickus <dzickus@redhat.com> Signed-off-by: NJunio C Hamano <junkio@cox.net>
-
git://repo.or.cz/git-gui由 Junio C Hamano 提交于
* 'master' of git://repo.or.cz/git-gui: git-gui: Support of "make -s" in: do not output anything of the build itself
-
由 Junio C Hamano 提交于
* maint: Don't package the git-gui credits file anymore git-gui: Allow 'git gui version' outside of a repository git-gui: Revert "git-gui: Display all authors of git-gui." git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed." git-gui: Allow committing empty merges
-
git://repo.or.cz/git/fastimport由 Junio C Hamano 提交于
* 'master' of git://repo.or.cz/git/fastimport: Remove unnecessary casts from fast-import New fast-import test case for valid tree sorting fast-import: grow tree storage more aggressively
-