aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* GIT 1.4.4-rc2v1.4.4-rc2Junio C Hamano2006-11-11
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'maint'Junio C Hamano2006-11-11
|\ | | | | | | | | * maint: git-cvsserver: read from git with -z to get non-ASCII pathnames.
| * git-cvsserver: read from git with -z to get non-ASCII pathnames.v1.4.3.5Junio C Hamano2006-11-11
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'maint'Junio C Hamano2006-11-11
|\ \ | |/ | | | | | | * maint: path-list: fix path-list-insert return value
| * path-list: fix path-list-insert return valueJunio C Hamano2006-11-11
| | | | | | | | | | | | | | | | | | When path-list-insert is called on an existing path, it returned an unrelated element in the list. Luckily most of the callers are ignoring the return value, but merge-recursive uses it at three places and this would have resulted in a bogus rename detection. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-annotate: fix -S on graft file with comments.Junio C Hamano2006-11-10
| | | | | | | | | | | | | | | | The graft file can contain comment lines and read_graft_line can return NULL for such an input, which should be skipped by the reader. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-annotate: no need to exec blame; it is built-in now.Junio C Hamano2006-11-10
| |
* | Merge branch 'maint'Junio C Hamano2006-11-09
|\ \ | |/ | | | | | | | | | | | | * maint: git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch. git-svn: fix dcommit losing changes when out-of-date from svn git-svn: don't die on rebuild when --upgrade is specified git-svn: avoid printing filenames of files we're not tracking
| * git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.Robert Shearman2006-11-09
| | | | | | | | | | | | | | | | This reduces the number of conflicts when rebasing after a series of patches to the same piece of code is committed upstream. Signed-off-by: Robert Shearman <rob@codeweavers.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * git-svn: fix dcommit losing changes when out-of-date from svnEric Wong2006-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug in dcommit (and commit-diff) which caused deltas to be generated against the latest version of the changed file in a repository, and not the revision we are diffing (the tree) against locally. This bug can cause recent changes to the svn repository to be silently clobbered by git-svn if our repository is out-of-date. Thanks to Steven Grimm for noticing the bug. The (few) people using the commit-diff command are now required to use the -r/--revision argument. dcommit usage is unchanged. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * git-svn: don't die on rebuild when --upgrade is specifiedEric Wong2006-11-09
| | | | | | | | | | | | | | | | | | --copy-remote and --upgrade are rarely (never?) used together, so if --copy-remote is specified, that means the user really wanted to copy the remote ref, and we should fail if that fails. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * git-svn: avoid printing filenames of files we're not trackingEric Wong2006-11-09
| | | | | | | | | | | | | | | | This is purely an aesthetic change, we already skip importing of files that don't affect the subdirectory we import. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Documentation: move blame examplesJunio C Hamano2006-11-09
| | | | | | | | | | | | | | This moves the example to specify a line range with regexps to a later part of the manual page that has similar examples. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'maint'Junio C Hamano2006-11-09
|\ \ | |/ | | | | | | * maint: Nicer error messages in case saving an object to db goes wrong
| * Nicer error messages in case saving an object to db goes wrongPetr Baudis2006-11-09
| | | | | | | | | | | | | | | | | | Currently the error e.g. when pushing to a read-only repository is quite confusing, this attempts to clean it up, unifies error reporting between various object writers and uses error() on couple more places. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: fix unmatched div in commitdiffJunio C Hamano2006-11-09
| | | | | | | | | | | | | | When the last filepair changed only metainfo we failed to close the extended header <div>. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: protect commit messages from controls.Junio C Hamano2006-11-09
| | | | | | | | | | | | | | | | The same change as the previous. It is rather sad that commit log message parser gives list of chomped lines while tag message parser gives unchomped ones. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: protect blob and diff output lines from controls.Junio C Hamano2006-11-09
| | | | | | | | | | | | | | | | This revealed that the output from blame and tag was not chomped properly and was relying on HTML output not noticing that extra whitespace that resulted from the newline, which was also fixed. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-pickaxe: retire pickaxeJunio C Hamano2006-11-08
| | | | | | | | | | | | | | | | | | Just make it take over blame's place. Documentation and command have all stopped mentioning "git-pickaxe". The built-in synonym is left in the command table, so you can still say "git pickaxe", but it probably is a good idea to retire it as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano2006-11-08
|\ \ | | | | | | | | | | | | * git://git.kernel.org/pub/scm/gitk/gitk: [PATCH] gitk: Fix nextfile() and add prevfile()
| * | [PATCH] gitk: Fix nextfile() and add prevfile()OGAWA Hirofumi2006-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | The current nextfile() jumps to last hunk, but I think this is not intention, probably, it's forgetting to add "break;". And this patch also adds prevfile(), it jumps to previous hunk. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | git-status: quote LF in its outputJunio C Hamano2006-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, commit log template would get the remainder of the filename start on a new line unquoted and the log gets messed up. I initially considered using the full quote_c_style(), but the output from the command is primarily for human consumption so chose to leave other control characters and bytes with high-bits unmolested. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: do not give blame link unconditionally in diff-tree viewJunio C Hamano2006-11-08
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: New improved patchset viewJakub Narebski2006-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace "gitweb diff header" with its full sha1 of blobs and replace it by "git diff" header and extended diff header. Change also somewhat highlighting of diffs. Added `file_type_long' subroutine to convert file mode in octal to file type description (only for file modes which used by git). Changes: * "gitweb diff header" which looked for example like below: file:_<sha1 before>_ -> file:_<sha1 after>_ where 'file' is file type and '<sha1>' is full sha1 of blob is changed to diff --git _a/<file before>_ _b/<file after>_ In both cases links are visible and use default link style. If file is added, a/<file> is not hyperlinked. If file is deleted, b/<file> is not hyperlinked. * there is added "extended diff header", with <path> and <hash> hyperlinked (and <hash> shortened to 7 characters), and <mode> explained: '<mode>' is extended to '<mode> (<file type description>)', where added text is slightly lighter to easy distinguish that it was added (and it is difference from git-diff output). * from-file/to-file two-line header lines have slightly darker color than removed/added lines. * chunk header has now delicate line above for easier finding chunk boundary, and top margin of 2px, both barely visible. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: Use character or octal escape codes (and add span.cntrl) in esc_pathJakub Narebski2006-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of simply hiding control characters in esc_path by replacing them with '?', use Character Escape Codes (CEC) i.e. alphabetic backslash sequences like those found in C programming language and many other languages influenced by it, such as Java and Perl. If control characted doesn't have corresponding character escape code, use octal char sequence to escape it. Alternatively, controls can be replaced with Unicode Control Pictures U+2400 - U+243F (9216 - 9279), the Unicode characters reserved for representing control characters when it is necessary to print or display them. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: Better git-unquoting and gitweb-quoting of pathnamesJakub Narebski2006-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend unquote subroutine, which unquotes quoted and escaped filenames which git may return, to deal not only with octal char sequence quoting, but also quoting ordinary characters including '\"' and '\\' which are respectively quoted '"' and '\', and to deal also with C escape sequences including '\t' for TAB and '\n' for LF. Add esc_path subroutine for gitweb quoting and HTML escaping filenames (currently it does equivalent of ls' --hide-control-chars, which means showing undisplayable characters (including '\n' and '\t') as '?' (question mark) character, and use 'span' element with cntrl CSS class to help rendering them differently. Convert gitweb to use esc_path correctly to print pathnames. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: minimally fix "fork" support.Junio C Hamano2006-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A forked project is defined to be $projname/$forkname.git for $projname.git; the code did not check this correctly and mistook $projname/.git to be a fork of itself. This minimally fixes the breakage. Also forks were not checked when index.aux file was in use. Listing the forked ones in index.aux would show them also on the toplevel index which may go against the hierarchical nature of forks, but again this is a minimal fix to whip it in a better shape suitable to be in the 'master' branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: fix disabling of "forks"Junio C Hamano2006-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently this code was never tested without "forks". check-feature returns a one-element list (0) when disabled, and assigning that to a scalar variable made it to be called in a scalar context, which meant my $check_forks = gitweb_check_feature("forks") were always 1! Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | GIT 1.4.3-rc1v1.4.4-rc1Junio C Hamano2006-11-07
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'maint'Junio C Hamano2006-11-07
|\ \ \ | | |/ | |/| | | | | | | * maint: remove an unneeded test
| * | remove an unneeded testTero Roponen2006-11-07
| | | | | | | | | | | | | | | | | | | | | | | | In wt-status.c there is a test which does nothing. This patch removes it. Signed-off-by: Tero Roponen <teanropo@jyu.fi> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'jc/pickaxe'Junio C Hamano2006-11-07
|\ \ \
| * | | git-pickaxe: allow "-L <something>,+N"Junio C Hamano2006-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this, git pickaxe -L '/--progress/,+20' v1.4.0 -- pack-objects.c gives you 20 lines starting from the first occurrence of '--progress' in pack-objects, digging from v1.4.0 version. You can also say git pickaxe -L '/--progress/,-5' v1.4.0 -- pack-objects.c Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: -L /regexp/,/regexp/Junio C Hamano2006-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, you can specify the beginning and the ending line of the range you wish to inspect with pattern matching. For example, these are equivalent with the git.git sources: git pickaxe -L 7,21 v1.4.0 -- commit.c git pickaxe -L '/^struct sort_node/,/^}/' v1.4.0 -- commit.c git pickaxe -L '7,/^}/' v1.4.0 -- commit.c git pickaxe -L '/^struct sort_node/,21' v1.4.0 -- commit.c Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: optimize by avoiding repeated read_sha1_file().Junio C Hamano2006-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that pickaxe reads the same blob repeatedly while blame can reuse the blob already read for the parent when handling a child commit when it's parent's turn to pass its blame to the grandparent. Have a cache in the origin structure to keep the blob there, which will be garbage collected when the origin loses the last reference to it. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-blame: add internal statistics to count read blobs.Junio C Hamano2006-11-05
| | | |
| * | | git-pickaxe: fix origin refcountingJunio C Hamano2006-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we introduced the cached origin per commit, we gave up proper garbage collecting because it meant that commits hold onto their cached copy. There is no need to do so. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: re-scan the blob after making progress with -CJunio C Hamano2006-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason to do this is the same as in the previous change for line copy detection within the same file (-M). Also this fixes -C and -C -C (aka find-copies-harder) logic; in this application we are not interested in the similarity matching diffcore-rename makes, because we are only interested in scanning files that were modified, or in the case of -C -C, scanning all files in the parent and we want to do that ourselves. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: re-scan the blob after making progress with -MJunio C Hamano2006-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we would miss copied lines that are contained in the parts before or after the part that we find after splitting the blame_entry (i.e. split[0] and split[2]). Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: simplify Octopus merges furtherJunio C Hamano2006-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If more than one parents in an Octopus merge have the same origin, ignore later ones because it would not make any difference in the outcome. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: rename detection optimizationJunio C Hamano2006-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is that we are interested in renaming into only one path, so we do not care about renames that happen elsewhere. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: work properly in a subdirectory.Jeff King2006-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We forgot to add prefix to the given path. [jc: interestingly enough, Jeff King had the same idea after I pushed mine out to "pu", and his patch was cleaner, so I dropped mine.] Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Introduce a new revision set operator <rev>^!Junio C Hamano2006-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a shorthand for "<rev> --not <rev>^@", i.e. "include this commit but exclude any of its parents". When a new file $F is introduced by revision $R, this notation can be used to find a copy-and-paste from existing file in the parents of that revision without annotating the ancestry of the lines that were copied from: git pickaxe -f -C $R^! -- $F Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: cache one already found path per commit.Junio C Hamano2006-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on how bushy the commit DAG is, this saves calls to the internal diff-tree for fork-point commits. For example, annotating Makefile in the kernel repository saves about a third of such diff-tree calls. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: split find_origin() into find_rename() and find_origin().Junio C Hamano2006-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a merge adds a new file from the second parent, the earlier code tried to find renames in the first parent before noticing that the vertion from the second parent was added without modification. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: tighten sanity checks.Junio C Hamano2006-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiled for debugging, make sure that refcnt sanity check code detects underflows in origin reference counting. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: refcount origin correctly in find_copy_in_parent()Junio C Hamano2006-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes "git-pickaxe -C master -- revision.c" to finish with proper refcounts for all origins. I am reasonably happy with it. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: allow -Ln,m as well as -L n,mJunio C Hamano2006-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command rejects -L1,10 as an invalid line range specifier and I got frustrated enough by it, so this makes it allow both forms of input. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: WIP to refcount origin structure.Junio C Hamano2006-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The origin structure is allocated for each commit and path while the code traverse down it is copied into different blame entries. To avoid leaks, try refcounting them. This still seems to leak, which I haven't tracked down fully yet. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-pickaxe: swap comparison loop used for -CJunio C Hamano2006-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When assigning blames for code movements across file boundaries, we used to iterate over blame entries (i.e. groups of lines to be blamed) in the outer loop and compared each entry with paths in the parent commit in an inner loop. This meant that we opened the blob data from each path number of times. Reorganize the loop so that we read the same path only once, and compare it against all relevant blame entries. This should perform better, but seems to give mixed results, though. Signed-off-by: Junio C Hamano <junkio@cox.net>