summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint'Junio C Hamano2007-05-0610-58/+253
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Small correction in reading of commit headers Documentation: fix typo in git-remote.txt Add test for blame corner cases. blame: -C -C -C blame: Notice a wholesale incorporation of an existing file. Fix --boundary output diff format documentation: describe raw combined diff format Mention version 1.5.1 in tutorial and user-manual Add --no-rebase option to git-svn dcommit Fix markup in git-svn man page
| * Small correction in reading of commit headersAlex Riesen2007-05-051-1/+3
| | | | | | | | | | | | | | | | Check if a line of the header has enough characters to possibly contain the requested prefix. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Documentation: fix typo in git-remote.txtJames Bowes2007-05-051-1/+1
| | | | | | | | | | Signed-off-by: James Bowes <jbowes@dangerouslyinc.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Add test for blame corner cases.Junio C Hamano2007-05-051-0/+132
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * blame: -C -C -CJunio C Hamano2007-05-051-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you do this, existing "blame -C -C" would not find that the latter half of the file2 came from the existing file1: ... both file1 and file2 are tracked ... $ cat file1 >>file2 $ git add file1 file2 $ git commit This is because we avoid the expensive find-copies-harder code that makes unchanged file (in this case, file1) as a candidate for copy & paste source when annotating an existing file (file2). The third -C now allows it. However, this obviously makes the process very expensive. We've actually seen this patch before, but I dismissed it because it covers such a narrow (and arguably stupid) corner case. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * blame: Notice a wholesale incorporation of an existing file.Junio C Hamano2007-05-051-12/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | The -C option to blame tries to find a section of a preimage file by running diff against the lines whose origin is still unknown, and excluding the different parts. The code however did not cover the case where the tail part of the section matched, which we handle for the normal non-move/copy codepath. This breakage was most visible when preimage file matches in its entirety and failed to pass blame in such a case. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Fix --boundary outputLinus Torvalds2007-05-051-4/+4
| | | | | | | | | | | | | | | | "git log --boundary" incorrectly honoured the option only when "left-right" was enabled. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * diff format documentation: describe raw combined diff formatJakub Narebski2007-05-041-0/+22
| | | | | | | | | | | | | | | | | | Add description of raw combined diff format to diff-formats.txt, as "diff format for merges" section, before "Generating patches..." section. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Mention version 1.5.1 in tutorial and user-manualCarl Worth2007-05-042-4/+4
| | | | | | | | | | | | | | | | | | | | | | Most other documentation will frequently be read from an installation of git so will naturally be associated with the installed version. But these two documents in particular are often read from web pages while users are still exploring git. It's important to mention version 1.5.1 since these documents provide example commands that won't work with previous versions of git. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Add --no-rebase option to git-svn dcommitKarl Hasselström2007-05-042-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | git-svn dcommit exports commits to Subversion, then imports them back to git again, and last but not least rebases or resets HEAD to the last of the new commits. I guess this rebasing is convenient when using just git, but when the commits to be exported are managed by StGIT, it's really annoying. So add an option to disable this behavior. And document it, too! Signed-off-by: Karl Hasselström <kha@treskal.com> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Fix markup in git-svn man pageKarl Hasselström2007-05-041-19/+13
| | | | | | | | | | | | | | | | Some of the existing markup was just plain broken, and some subcommand options weren't indented properly. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Handle return code of parse_commit in revision machineryAlex Riesen2007-05-062-24/+51
| | | | | | | | | | | | | | | | This fixes a crash in broken repositories where random commits suddenly disappear. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-tag(1): -v option is a subcommand; fix code blockJonas Fonseca2007-05-031-1/+4
| | | | | | | | | | | | | | | | | | When the -v is passed, git-tag will exit after it is processed like it does with the -d and -l options. Additionally, missing code block caused wrong rendering of an option example. Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Improve request-pull to handle non-rebased branchesShawn O. Pearce2007-05-031-9/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is actually a few different changes to request-pull, making it slightly smarter: 1) Minor cleanup of revision->base variable names, making it follow the head/headrev naming convention that is already in use. 2) Compute the merge-base between the two revisions upfront and reuse that selected merge-base to create the diffstat. 3) Refuse to generate a pull request for branches that have no existing relationship. These aren't very common and would mess up our diffstat generation. 4) Disable the PAGER when running shortlog and diff, as these would otherwise activate the pager for each command when git-request-pull is run on a tty. Instead users can get the entire output paged (if desired) using `git -p request-pull`. 5) Use shortlog rather than `git log | git shortlog` now that recent shortlog versions are able to run the revision listing internally. 6) Attempt to resolve the input URL using the user's configured remotes. This is useful if the URL you want the recipient to see is also the one you used to push your changes. If not a config-file remote could easily be setup for the public URL and request-pull could be passed that name instead. 7) Automatically guess and include the remote branch name in the body of the message. We list the branch name immediately after the URL, making it easy for the recipient to copy and paste the entire line onto a `git pull` command line. Rumor has it Linus likes this format, for exactly that reason. If multiple branches at the remote match $headrev we take the first one returned by peek-remote and assume it is suitable. If no branches are available we warn the user about the problem, but insert a static string that is not a valid branch name and would be obvious to anyone reading the message as being totally incorrect. This allows users to still generate a template message without network access (for example) and hand-correct the bits that cannot be verified. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'maint'Junio C Hamano2007-05-039-35/+35
|\ \ | |/ | | | | | | | | | | | | | | | | | | * maint: gitweb: use decode_utf8 directly posix compatibility for t4200 Document 'opendiff' value in config.txt and git-mergetool.txt Allow PERL_PATH="/usr/bin/env perl" Make xstrndup common diff.c: fix "size cache" handling. http-fetch: Disable use of curl multi support for libcurl < 7.16.
| * gitweb: use decode_utf8 directlyIsmail Dönmez2007-05-031-16/+10
| | | | | | | | | | | | | | | | Using decode() tries to decode data that is already UTF-8 and borks, but decode_utf8 from Encode.pm has a built-in safety against that. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * posix compatibility for t4200Bryan Larsen2007-05-031-1/+1
| | | | | | | | | | | | | | | | Fix t4200 so that it also works on OS X by not relying on gnu extensions to sed. Signed-off-by: Bryan Larsen <bryan@larsen.st> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Document 'opendiff' value in config.txt and git-mergetool.txtArjen Laarhoven2007-05-032-2/+2
| | | | | | | | | | Signed-off-by: Arjen Laarhoven <arjen@yaph.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Allow PERL_PATH="/usr/bin/env perl"Bryan Larsen2007-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | There is a mechanism PERL_PATH in the Makefile to specify path to Perl binary, but sometimes it is convenient to let 'env' figure out where Perl comes from, with PERL_PATH="/usr/bin/env perl". Allowing this would make things easier to MacPorts, where we wish to work with the MacPorts perl if it is installed, but fall back to the system perl if it isn't. Signed-off-by: Bryan Larsen <bryan@larsen.st> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Make xstrndup commonDaniel Barkalow2007-05-032-8/+13
| | | | | | | | | | | | | | | | | | | | This also improves the implementation to match how strndup is specified (by GNU): if the length given is longer than the string, only the string's length is allocated and copied, but the string need not be null-terminated if it is at least as long as the given length. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * diff.c: fix "size cache" handling.Junio C Hamano2007-05-031-6/+7
| | | | | | | | | | | | | | | | | | We broke the size-cache handling when we changed the function signature of sha1_object_info() in 21666f1a. We obviously wanted to cache the size we obtained when sha1_object_info() succeeded, not when it failed. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * http-fetch: Disable use of curl multi support for libcurl < 7.16.Alexandre Julliard2007-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | curl_multi_remove_handle() is broken in libcurl < 7.16, in that it doesn't correctly update the active handles count when a request is aborted. This causes the transfer to hang forever waiting for the handle count to become less than the number of active requests. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame: use .mailmap unconditionallyJunio C Hamano2007-05-031-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There really isn't any point in turning off .mailmap. The number of mailmap lookups are bounded by number of lines in the target file, and the real blame processing is much more expensive. If it turns out to be too costly, we should optimize the mailmap lookup itself, instead of avoiding the call. If the author information of commits of the project are relatively clean, .mailmap would have only small number of entries, and the overhead of looking it up will not be high. On the other hand, if the author information is really screwed up that a good .mailmap needs to be maintained to run shortlog, giving uncleaned names in blame output is not helpful at all either. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'maint'Junio C Hamano2007-05-022-3/+4
|\ \ | |/ | | | | | | | | * maint: cvsserver: Handle re-added files correctly Fix compilation of test-delta
| * Merge branch 'maint' of git://repo.or.cz/git/fastimport into maintJunio C Hamano2007-05-021-0/+19
| |\ | | | | | | | | | | | | * 'maint' of git://repo.or.cz/git/fastimport: Teach import-tars about GNU tar's @LongLink extension.
| * | cvsserver: Handle re-added files correctlyFrank Lichtenheld2007-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't unconditionally assign revision 1.1 to newly added files. In case the file did exist in the past and was deleted we need to honor the old revision number. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Fix compilation of test-deltaMartin Koegler2007-05-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The code used write_in_full() without pulling its declarations from the header file. When header is included, usage[] collides with usage() function. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Don't use seq in tests, not everyone has itShawn O. Pearce2007-05-021-2/+5
| | | | | | | | | | | | | | | | | | | | | For example Mac OS X lacks the seq command. So we cannot use it there. A good old while loop works just as good. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | Reuse fixup_pack_header_footer in index-packShawn O. Pearce2007-05-021-32/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that fast-import is using a "library function" to handle correcting its packfile's object count and trailing SHA-1 we should reuse the same function in index-pack, to reduce the size of the code we must maintain. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | Create pack-write.c for common pack writing codeDana L. How2007-05-024-39/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include a generalized fixup_pack_header_footer() in this new file. Needed by git-repack --max-pack-size feature in a later patchset. [sp: Moved close(pack_fd) to callers, to support index-pack, and changed name to better indicate it is for packfiles.] Signed-off-by: Dana L. How <danahow@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | Merge branch 'gfi-maint' into gfi-masterShawn O. Pearce2007-05-021-0/+19
|\ \ \ | | |/ | |/| | | | | | | * gfi-maint: Teach import-tars about GNU tar's @LongLink extension.
| * | Teach import-tars about GNU tar's @LongLink extension.Johannes Schindelin2007-05-021-0/+19
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extension allows GNU tar to process file names in excess of the 100 characters defined by the original tar standard. It does this by faking a file, named '././@LongLink' containing the true file name, and then adding the file with a truncated name. The idea is that tar without this extension will write out a file with the long file name, and write the contents into a file with truncated name. Unfortunately, GNU tar does a lousy job at times. When truncating results in a _directory_ name, it will happily use _that_ as a truncated name for the file. An example where this actually happens is gcc-4.1.2, where the full path of the file WeThrowThisExceptionHelper.java truncates _exactly_ before the basename. So, we have to support that ad-hoc extension. This bug was noticed by Chris Riddoch on IRC. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | GIT v1.5.2-rc1v1.5.2-rc1Junio C Hamano2007-04-302-6/+38
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'maint'Junio C Hamano2007-04-307-25/+46
|\ \ | |/ | | | | | | | | | | | | | | | | * maint: GIT v1.5.1.3 send-email documentation: clarify --smtp-server git.7: Mention preformatted html doc location Clarify SubmittingPatches Checklist git-svn: Add 'find-rev' command Fix symlink handling in git-svn, related to PerlIO
| * GIT v1.5.1.3v1.5.1.3Junio C Hamano2007-04-302-7/+15
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * send-email documentation: clarify --smtp-serverJari Aalto2007-04-301-3/+4
| | | | | | | | | | | | | | | | It can be either hostname/address, or a full path to a local executable. Signed-off-by: Jari Aalto <jari.aalto@cante.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * git.7: Mention preformatted html doc locationJari Aalto2007-04-301-0/+4
| | | | | | | | | | Signed-off-by: Jari Aalto <jari.aalto@cante.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Clarify SubmittingPatches ChecklistJari Aalto2007-04-301-1/+9
| | | | | | | | | | | | | | | | Separate things to be checked when making commits, and things to be checked when sending patches. Signed-off-by: Jari Aalto <jari.aalto@cante.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * git-svn: Add 'find-rev' commandAdam Roben2007-04-302-12/+12
| | | | | | | | | | | | | | | | | | This patch adds a new 'find-rev' command to git-svn that lets you easily translate between SVN revision numbers and git tree-ish. Signed-off-by: Adam Roben <aroben@apple.com> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Fix symlink handling in git-svn, related to PerlIOJunio C Hamano2007-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After reading the leading contents from a symlink data obtained from subversion, which we expect to begin with 'link ', the code forked to hash the remainder (which should match readlink() result) using git-hash-objects, by redirecting its STDIN from the filehandle we read that 'link ' from. This was Ok with Perl on modern Linux, but on Mac OS, the read in the parent process slurped more than we asked for in stdio buffer, and the child did not correctly see the "remainder". This attempts to fix the issue by using lower level sysseek and sysread instead of seek and read to bypass the stdio buffer. Signed-off-by: Junio C Hamano <junkio@cox.net> Acked-by: Eric Wong <normalperson@yhbt.net> Acked-by: Seth Falcon <sethfalcon@gmail.com>
* | Include mailmap.h in mailmap.c to catch mailmap interface changesAlex Riesen2007-04-301-0/+1
| | | | | | | | | | Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Remove pointless calls to access(2) when checking for .mailmapAlex Riesen2007-04-302-3/+2
| | | | | | | | | | | | | | | | | | | | read_mailmap already returns not 0 in case of error, and nothing seem to be interested in it. It also is silent about the fact (read_mailmap being to chatty would justify the call to access, but there is no point for it to be and it isn't). Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Fix read_mailmap to handle a caller uninterested in repo abbreviationAlex Riesen2007-04-301-0/+3
| | | | | | | | | | | | | | | | The only such a caller builtin-blame.c would pass NULL as the place where to store the abbreviation. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Use strlcpy instead of strncpy in mailmap.cAlex Riesen2007-04-301-1/+1
| | | | | | | | | | | | | | | | | | strncpy does not NUL-terminate output in case of output buffer too short, and map_email prototype (and usage) does not allow for figuring out what the length of the name is. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/attr'Junio C Hamano2007-04-293-12/+531
|\ \ | | | | | | | | | | | | | | | * jc/attr: Add 'filter' attribute and external filter driver definition. Add 'ident' conversion.
| * | Add 'filter' attribute and external filter driver definition.Junio C Hamano2007-04-243-3/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The interface is similar to the custom low-level merge drivers. First you configure your filter driver by defining 'filter.<name>.*' variables in the configuration. filter.<name>.clean filter command to run upon checkin filter.<name>.smudge filter command to run upon checkout Then you assign filter attribute to each path, whose name matches the custom filter driver's name. Example: (in .gitattributes) *.c filter=indent (in config) [filter "indent"] clean = indent smudge = cat Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Add 'ident' conversion.Junio C Hamano2007-04-243-12/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'ident' attribute set to path squashes "$ident:<any bytes except dollor sign>$" to "$ident$" upon checkin, and expands it to "$ident: <blob SHA-1> $" upon checkout. As we have two conversions that affect checkin/checkout paths, clarify how they interact with each other. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Make sure test-genrandom and test-chmtime are builtas part of the main build.Junio C Hamano2007-04-291-1/+5
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Make macros to prevent double-inclusion in headers consistent.Junio C Hamano2007-04-294-10/+10
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Apply mailmap in git-blame output.Junio C Hamano2007-04-291-3/+39
| | | | | | | | | | | | | | | | | | | | | This makes git-blame to use the same mailmap used by git-shortlog. Signed-off-by: Junio C Hamano <junkio@cox.net>