summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix'Junio C Hamano2006-05-156-26/+96
|\ | | | | | | | | | | | | | | | | | | * fix: Fix pack-index issue on 64-bit platforms a bit more portably. Install git-send-email by default Fix compilation on newer NetBSD systems git config syntax updates Another config file parsing fix. checkout: use --aggressive when running a 3-way merge (-m).
| * Fix pack-index issue on 64-bit platforms a bit more portably.v1.3.3Junio C Hamano2006-05-152-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Apparently <stdint.h> is not enough for uint32_t on OpenBSD; use "unsigned int" -- hopefully that would stay 32-bit on every platform we care about, at least until we update the pack-index file format. Our sha1 routines optimized for architectures use uint32_t and expects '#include <stdint.h>' to be enough, so OpenBSD on arm or ppc might have similar issues down the road, I dunno. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Install git-send-email by defaultEric Wong2006-05-152-7/+4
| | | | | | | | | | | | | | | | | | | | After 567ffeb7722eefab3991cb894c96548b92b57cc2 and 4bc87a28be020a6bf7387161c65ea3d8e4a0228b, git-send-email no longer requires any non-standard Perl modules, so there's no reason to special-case it. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Fix compilation on newer NetBSD systemsDennis Stosberg2006-05-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | NetBSD >=2.0 has iconv() in libc. A libiconv is not required and does not exist. See: http://netbsd.gw.com/cgi-bin/man-cgi?iconv+3+NetBSD-2.0 [jc: with a bit of simplification later discussed on the list.] Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Merge branch 'fix' into maintJunio C Hamano2006-05-151-0/+2
| |\ | | | | | | | | | | | | * fix: Ensure author & committer before asking for commit message.
| * \ Merge branch 'fix' into maintJunio C Hamano2006-05-142-0/+2
| |\ \ | | | | | | | | | | | | | | | | * fix: include header to define uint32_t, necessary on Mac OS X
| * | | git config syntax updatesLinus Torvalds2006-05-133-20/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the hierarchical section name syntax to [section<space>+"<randomstring>"] where the only rule for "randomstring" is that it can't contain a newline, and if you really want to insert a double-quote, you do it with \". It turns that into the section name "secion.randomstring". The "section" part is still case insensitive, but the "randomstring" part is case sensitive. So you could use this for things like [email "torvalds@osdl.org"] name = Linus Torvalds if you wanted to do the "email->name" conversion as part of the config file format (I'm not claiming that is sensible, I'm just giving it as an insane example). That would show up as the association email.torvalds@osdl.org.name -> Linus Torvalds which is easy to parse (the "." in the email _looks_ ambiguous, but it isn't: you know that there will always be a single key-name, so you find the key name with "strrchr(name, '.')" and things are entirely unambiguous). Repo-config is updated to be able to parse the new format, and also write things out in the new format. [jc: rolled two patches from Linus and one fix-up from Sean into one, with additional adjustments for t/t1300 test to check the case insensitiveness of section base and variable and case sensitiveness of the extended section part. Then stripped some part off to make the result applicable to the stale 1.3.X series that does not have recent enhancements. ] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Another config file parsing fix.sean2006-05-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the variable we need to store should go into a section that currently only has a single variable (not matching the one we're trying to insert), we will already be into the next section before we notice we've bypassed the correct location to insert the variable. To handle this case we store the current location as soon as we find a variable matching the section of our new variable. This breakage was brought up by Linus. Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | checkout: use --aggressive when running a 3-way merge (-m).Junio C Hamano2006-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'fix'Junio C Hamano2006-05-151-0/+2
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | * fix: Ensure author & committer before asking for commit message.
| * | | Ensure author & committer before asking for commit message.Sean2006-05-141-0/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | It's better to find out you need to fix your author and committer information before you enter a long commit message. Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Install git-send-email by defaultEric Wong2006-05-142-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 567ffeb7722eefab3991cb894c96548b92b57cc2 and 4bc87a28be020a6bf7387161c65ea3d8e4a0228b, git-send-email no longer requires any non-standard Perl modules, so there's no reason to special-case it. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | send-email: address expansion for common mailersEric Wong2006-05-141-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mutt, gnus, pine, mailrc formats should be supported. Testing and feedback for correctness and completeness of all formats and support for additional formats would be good. Nested expansions are also supported. More than one alias file to be used. All alias file formats must still of be the same type, though. Two git repo-config keys are required for this (as suggested by Ryan Anderson): sendemail.aliasesfile = <filename of aliases file> sendemail.aliasfiletype = (mutt|gnus|pine|mailrc) Signed-off-by: Eric Wong <normalperson@yhbt.net> Acked-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | diffstat rename squashing fix.Junio C Hamano2006-05-141-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When renaming leading/a/filename to leading/b/filename (and "filename" is sufficiently long), we tried to squash the rename to "leading/{a => b}/filename". However, when "/a" or "/b" part is empty, we underflowed and tried to print a substring of length -1. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'fix'Junio C Hamano2006-05-142-0/+2
|\ \ \ | |/ / | | | | | | | | | * fix: include header to define uint32_t, necessary on Mac OS X
| * | include header to define uint32_t, necessary on Mac OS XBen Clifford2006-05-142-0/+2
| |/ | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'ml/cvs'Junio C Hamano2006-05-143-97/+187
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * \ Merge branch 'tojunio' of ↵Junio C Hamano2006-05-093-97/+187
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://locke.catalyst.net.nz/git/git-martinlanghoff into ml/cvs * '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.
| | * | Change to allow subdir updates from EclipseMartyn Smith2006-05-081-11/+27
| | | | | | | | | | | | | | | | (Now you can rightclick any directory and select team-update/team-commit) and it should work
| | * | Many fixes for most operations in Eclipse.Martyn Smith2006-05-081-82/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implemented global -n option * Implemented "Questionable" * Fixed Directory method, I _believe_ it's now correct in both cmdline and Eclipse. * Directory method Now looks for localdir of "." and compares the repo dir, uses THIS as a basis for all directory level calculations. * Added extra parameter to filenamesplit() to force stripping of "prepended" directory name. This ensures commits/updates etc work from any directory in the source tree. * Modified argsfromdir() so it is "always" called. This means that when the client specifies a directory, the method can detect this and behave accordingly (this is currently only implemented for the '.' directory) * Fixed "commit" method to correctly work from in a subdir
| | * | Added logged warnings for CVS error returnsMartyn Smith2006-05-081-0/+2
| | | |
| | * | Merge with git://kernel.org/pub/scm/git/git.gitMartin Langhoff2006-05-0858-819/+2848
| | |\ \
| | * | | cvsserver: use git-rev-list instead of git-logMartin Langhoff2006-05-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On 5/4/06, Linus Torvalds <torvalds@osdl.org> wrote: > No it wasn't. "git log --parents" was definitely supposed to still work. > > That said, I suspect a git-cvsserver kind of usage is better off using > "git-rev-list --parents HEAD" instead, which didn't break in the first > place.
| | * | | Merge with git://kernel.org/pub/scm/git/git.gitMartin Langhoff2006-05-0311-63/+231
| | |\ \ \
| | * \ \ \ Merge with git://kernel.org/pub/scm/git/git.gitMartin Langhoff2006-05-0137-2321/+2423
| | |\ \ \ \
| | * | | | | git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.Martin Langhoff2006-04-262-8/+23
| | | | | | |
* | | | | | | Merge branch 'fix'Junio C Hamano2006-05-132-2/+2
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | * fix: Fix git-pack-objects for 64-bit platforms
| * | | | | | Fix git-pack-objects for 64-bit platformsDennis Stosberg2006-05-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | | fix diff-delta bad memory accessNicolas Pitre2006-05-101-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Nicolas Pitre <nico@cam.org> Acked-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | | Merge branch 'fix'Junio C Hamano2006-05-092-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix: checkout: use --aggressive when running a 3-way merge (-m). revert/cherry-pick: use aggressive merge.
| * | | | | | | checkout: use --aggressive when running a 3-way merge (-m).Junio C Hamano2006-05-091-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Junio C Hamano <junkio@cox.net>
| * | | | | | revert/cherry-pick: use aggressive merge.Linus Torvalds2006-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Junio C Hamano <junkio@cox.net>
* | | | | | | Merge branch 'jc/clean'Junio C Hamano2006-05-092-5/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/clean: Teach git-clean optional <paths>... parameters.
| * | | | | | | Teach git-clean optional <paths>... parameters.Junio C Hamano2006-05-082-5/+17
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Junio C Hamano <junkio@cox.net> Signed-off-by: Pavel Roskin <proski@gnu.org>
* | | | | | | Merge branch 'mw/alternates'Junio C Hamano2006-05-093-77/+212
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mw/alternates: clone: don't clone the info/alternates file test case for transitive info/alternates Transitively read alternatives
| * | | | | | | clone: don't clone the info/alternates fileMartin Waitz2006-05-071-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | test case for transitive info/alternatesMartin Waitz2006-05-071-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | Transitively read alternativesMartin Waitz2006-05-071-72/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | | | Merge branch 'jc/xsha1'Junio C Hamano2006-05-091-8/+47
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/xsha1: get_sha1() - fix infinite loop on nonexistent stage. get_sha1(): :path and :[0-3]:path to extract from index.
| * | | | | | | | get_sha1() - fix infinite loop on nonexistent stage.Junio C Hamano2006-05-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | get_sha1(): :path and :[0-3]:path to extract from index.Junio C Hamano2006-04-301-8/+46
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier patch to say <ent>:<path> by Linus was very useful, and this extends the same idea to the current index. An sha1 expression :<path> extracts the object name for the named path from the current index. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | | | Merge branch 'jc/again'Junio C Hamano2006-05-093-4/+142
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/again: Fix users of prefix_path() to free() only when necessary update-index --again: take optional pathspecs update-index --again
| * | | | | | | | Fix users of prefix_path() to free() only when necessaryJohannes Schindelin2006-05-062-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, prefix_path() sometimes returns a newly xmalloc()ed buffer, and in other cases it returns a substring! For example, when calling git update-index ./hello.txt prefix_path() returns "hello.txt", but does not allocate a new buffer. The original code only checked if the result of prefix_path() was different from what was passed in, and thusly trigger a segmentation fault. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | update-index --again: take optional pathspecsJunio C Hamano2006-05-052-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pathspecs are given, update-index --again further limits the set of paths to be updated to those that match them. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | update-index --againJunio C Hamano2006-05-053-4/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After running 'git-update-index' for some paths, you may want to do the update on the same set of paths again. The new flag --again checks the paths whose index entries are are different from the HEAD commit and updates them from the working tree contents. This was brought up by Carl Worth on #git. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | | | | Merge branch 'np/delta'Junio C Hamano2006-05-095-157/+353
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | | | | | | | improve diff-delta with sparse and/or repetitive dataNicolas Pitre2006-05-021-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is useless to preserve multiple hash entries for consecutive blocks with the same hash. Keeping only the first one will allow for matching the longest string of identical bytes while subsequent blocks will only allow for shorter matches. The backward matching code will match the end of it as necessary. This improves both performances (no repeated string compare with long successions of identical bytes, or even small group of bytes), as well as compression (less likely to need random hash bucket entry culling), especially with sparse files. With well behaved data sets this patch doesn't change much. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | | tiny optimization to diff-deltaNicolas Pitre2006-05-021-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is my assembly freak side looking at generated code again. And since create_delta() is certainly pretty high on the radar every bits count. In this case shorter code is generated if hash_mask is not copied to a local variable. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | | replace adler32 with Rabin's polynomial in diff-deltaNicolas Pitre2006-04-282-35/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings another small repacking speedup for sensibly the same pack size. On the Linux kernel repo, git-repack -a -f is 3.7% faster for a 0.4% larger pack. Credits to Geert Bosch who brought the Rabin's polynomial idea to my attention. This also eliminate the issue of adler32() reading past the data buffer, as noticed by Johannes Schindelin. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | | | | | use delta index data when finding best delta matchesNicolas Pitre2006-04-261-37/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows for computing the delta index for each base object only once and reuse it when trying to find the best delta match. This should set the mark and pave the way for possibly better delta generator algorithms. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>