aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix passing of TCLTK_PATH to git-guiAlex Riesen2007-04-05
| | | | | | | | GNU make does not include environment variables by default in its namespace. Just pass them in make command line. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Rename add_file_to_index() to add_file_to_cache()Junio C Hamano2007-04-05
| | | | | | | | | | | | | | This function was not called "add_file_to_cache()" only because an ancient program, update-cache, used that name as an internal function name that does something slightly different. Now that is gone, we can take over the better name. The plan is to name all functions that operate on the default index xxx_cache(). Later patches create a variant of them that take an explicit parameter xxx_index(), and then turn xxx_cache() functions into macros that use "the_index". Signed-off-by: Junio C Hamano <junkio@cox.net>
* Rename static variable write_index to update_index in builtin-apply.cJunio C Hamano2007-04-05
| | | | | | | | | | This is an internal variable used to tell if we need to write out the resulting index. I'll be introducing write_index() function which would collide with it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Rename internal function "add_file_to_cache" in builtin-update-index.cJunio C Hamano2007-04-05
| | | | | | | | I'd like to consistently name all index-layer functions that operate on the default index xxx_cache(), and this application specific function interferes with the plan. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Propagate cache error internal to refresh_cache() via parameter.Junio C Hamano2007-04-05
| | | | | | | | | | The function refresh_cache() is the only user of cache_errno that switches its behaviour based on what internal function refresh_cache_entry() finds; pass the error status back in a parameter passed down to it, to get rid of the global variable cache_errno. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix bogus error message from merge-recursive error pathJunio C Hamano2007-04-05
| | | | | | | | | | | This error message should not usually trigger, but the function make_cache_entry() called by add_cacheinfo() can return early without calling into refresh_cache_entry() that sets cache_errno. Also the error message had a wrong function name reported, and it did not say anything about which path failed either. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Show binary file size change in diff --statAndy Parkins2007-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, a binary file in the diffstat would show as: some-binary-file.bin | Bin The space after the "Bin" was never used. This patch changes binary lines in the diffstat to be: some-binary-file.bin | Bin 12345 -> 123456 bytes The very nice "->" notation was suggested by Johannes Schindelin, and shows the before and after sizes more clearly than "+" and "-" would. If a size is 0 it's not shown (although it would probably be better to treat no-file differently from zero-byte-file). The user can see what changed in the binary file, and how big the new file is. This is in keeping with the information in the rest of the diffstat. The diffstat_t members "added" and "deleted" were unused when the file was binary, so this patch loads them with the file sizes in builtin_diffstat(). These figures are then read in show_stats() when the file is marked binary. Signed-off-by: Andy Parkins <andyparkins@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix lost-found to show commits only referenced by reflogsShawn O. Pearce2007-04-05
| | | | | | | | | | | | | | | | | | | | | | Prior to 1.5.0 the git-lost-found utility was useful to locate commits that were not referenced by any ref. These were often amends, or resets, or tips of branches that had been deleted. Being able to locate a 'lost' commit and recover it by creating a new branch was a useful feature in those days. Unfortunately 1.5.0 added the reflogs to the reachability analysis performed by git-fsck, which means that most commits users would consider to be lost are still reachable through a reflog. So most (or all!) commits are reachable, and nothing gets output from git-lost-found. Now git-fsck can be told to ignore reflogs during its reachability analysis, making git-lost-found useful again to locate commits that are no longer referenced by a ref itself, but may still be referenced by a reflog. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* clean up and optimize nth_packed_object_sha1() usageNicolas Pitre2007-04-05
| | | | | | | | | | | | | Let's avoid the open coded pack index reference in pack-object and use nth_packed_object_sha1() instead. This will help encapsulating index format differences in one place. And while at it there is no reason to copy SHA1's over and over while a direct pointer to it in the index will do just fine. Signed-off-by: Nicolas Pitre <nico@cam.org> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* RPM spec: include git-p4 in the list of all packages.Junio C Hamano2007-04-04
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-svn: bail out on incorrect command-line optionsEric Wong2007-04-04
| | | | | | | | | | | | | "git svn log" is the only command that needs the pass-through option in Getopt::Long; otherwise we will bail out and let the user know something is wrong. Also, avoid printing out unaccepted mixed-case options (that are reserved for the command-line) such as --useSvmProps in the usage() function. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Quote hash keys, and do not use barewords keysJakub Narebski2007-04-04
| | | | | | | | | Ensure that in all references to an element of a hash, the key is singlequoted, instead of using bareword: use $hash{'key'} instead of $hash{key} Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)Jakub Narebski2007-04-04
| | | | | | | | | | Code should be look the same way, regardless of tab size. Use tabs for indent, but spaces for align. Indent continued part of command spanning multiple lines, but only once. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/bisect'Junio C Hamano2007-04-04
|\ | | | | | | | | | | | | | | | | | | * jc/bisect: make the previous optimization work also on path-limited rev-list --bisect rev-list --bisect: Fix "halfway" optimization. t6004: add a bit more path optimization test. git-rev-list --bisect: optimization git-rev-list: add --bisect-vars option. t6002: minor spelling fix.
| * make the previous optimization work also on path-limited rev-list --bisectJunio C Hamano2007-03-23
| | | | | | | | | | | | | | | | The trick is to give a child commit that is not tree-changing the same depth as its parent, so that the depth is propagated properly along strand of pearls. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * rev-list --bisect: Fix "halfway" optimization.Junio C Hamano2007-03-23
| | | | | | | | | | | | | | | | | | If you have 5 commits in the set, commits that reach 2 or 3 commits are at halfway. If you have 6 commits, only commits that reach exactly 3 commits are at halfway. The earlier one is completely botched the math. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Merge branch 'master' into jc/bisectJunio C Hamano2007-03-23
| |\ | | | | | | | | | | | | This is to merge in the fix for path-limited bisection from the 'master' branch.
| * | t6004: add a bit more path optimization test.Junio C Hamano2007-03-23
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | git-rev-list --bisect: optimizationJunio C Hamano2007-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves the performance of revision bisection. The idea is to avoid rather expensive count_distance() function, which counts the number of commits that are reachable from any given commit (including itself) in the set. When a commit has only one relevant parent commit, the number of commits the commit can reach is exactly the number of commits that the parent can reach plus one; instead of running count_distance() on commits that are on straight single strand of pearls, we can just add one to the parents' count. On the other hand, for a merge commit, because the commits reachable from one parent can be reachable from another parent, you cannot just add the parents' counts up plus one for the commit itself; that would overcount ancestors that are reachable from more than one parents. The algorithm used in the patch runs count_distance() on merge commits, and uses the util field of commit objects to remember them. After that, the number of commits reachable from each of the remaining commits is counted by finding a commit whose count is not yet known but the count for its (sole) parent is known, and adding one to the parent's count, until we assign numbers to everybody. Another small optimization is whenever we find a half-way commit (that is, a commit that can reach exactly half of the commits), we stop giving counts to remaining commits, as we will not find any better commit than we just found. The performance to bisect between v1.0.0 and v1.5.0 in git.git repository was improved by saying good and bad in turns from 3.68 seconds down to 1.26 seconds. Bisecting the kernel between v2.6.18 and v2.6.20 was sped up from 21.84 seconds down to 4.22 seconds. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | git-rev-list: add --bisect-vars option.Junio C Hamano2007-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds --bisect-vars option to rev-list. The output is suitable for `eval` in shell and defines five variables: - bisect_rev is the next revision to test. - bisect_nr is the expected number of commits to test after bisect_rev is tested. - bisect_good is the expected number of commits to test if bisect_rev turns out to be good. - bisect_bad is the expected number of commits to test if bisect_rev turns out to be bad. - bisect_all is the number of commits we are bisecting right now. The documentation text was partly stolen from Johannes Schindelin's patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | t6002: minor spelling fix.Junio C Hamano2007-03-22
| | | | | | | | | | | | | | | | | | | | | The test expects --bisect option can be configured with by setting $_bisect_option. So let's allow that uniformly. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'fl/doc'Junio C Hamano2007-04-04
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * fl/doc: Documentation: unbreak user-manual. Documentation: Add version information to man pages Documentation: Replace @@GIT_VERSION@@ in documentation
| * | | Documentation: unbreak user-manual.Junio C Hamano2007-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous one broke generated xml files for anything but manpages, as it took the header for manpage unconditionally. This fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Documentation: Add version information to man pagesFrank Lichtenheld2007-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Override the [header] macro of asciidoc's docbook backend to add version information to the generated man pages. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Documentation: Replace @@GIT_VERSION@@ in documentationFrank Lichtenheld2007-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include GIT-VERSION-FILE and replace @@GIT_VERSION@@ in the HTML and XML asciidoc output. The documentation doesn't depend on GIT-VERSION-FILE so it will not be automatically rebuild if nothing else changed. [jc: fixing the case for interrupted build] Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'post1.5.1/blame.el'Junio C Hamano2007-04-04
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * post1.5.1/blame.el: git-blame.el: pick a set of random colors for each git-blame turn git-blame.el: separate git-blame-mode to ease maintenance
| * | | | git-blame.el: pick a set of random colors for each git-blame turnXavier Maillard2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I thought it would be cool to have different set of colors for each git-blame-mode. Function `git-blame-new-commit' does this for us picking when possible, a random colors based on the set we build on startup. When it fails, `git-blame-ancient-color' will be used. We also take care not to use the same color more than once (thank you David Kågedal, really). * Prevent (future possible) namespace clash by renaming `color-scale' into `git-blame-color-scale'. Definition has been changed to be more in the "lisp" way (thanks for help to #emacs). Also added a small description of what it does. * Added docstrings at some point and instructed defvar when a variable was candidate to customisation by users. * Added missing defvar to silent byte-compilers (git-blame-file, git-blame-current) * Do not require 'cl at startup * Added more informations on compatibility Signed-off-by: Xavier Maillard <zedek@gnu.org> Acked-by: David Kågedal <davidk@lysator.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | git-blame.el: separate git-blame-mode to ease maintenanceXavier Maillard2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-blame-mode has been splitted into git-blame-mode-on and git-blame-mode-off; it now conditionnaly calls one of them depending of how we call it. Code is now easier to maintain and to understand. Fixed `git-reblame' function: interactive form was at the wrong place. String displayed on the mode line is now configurable through `git-blame-mode-line-string` (default to " blame"). Signed-off-by: Xavier Maillard <zedek@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Merge branch 'post1.5.1/tcltk'Junio C Hamano2007-04-04
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * post1.5.1/tcltk: Optional Tck/Tk: ignore generated files. Eliminate checks of user-specified Tcl/Tk interpreter. Rewrite Tcl/Tk interpreter path for the GUI tools. Add --with-tcltk and --without-tcltk to configure. NO_TCLTK
| * | | | | Optional Tck/Tk: ignore generated files.Junio C Hamano2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | Eliminate checks of user-specified Tcl/Tk interpreter.Eygene Ryabinkin2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not make the checks on the Tcl/Tk interpreter passed by '--with-tcltk=/path/to/wish' configure option: user is free to pass anything. Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | Rewrite Tcl/Tk interpreter path for the GUI tools.Eygene Ryabinkin2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --with-tcltk=/path/to/wish sets the TCLTK_PATH variable that is used to substitute the location of the wish interpreter in the Tcl/Tk programs. New tracking file, GIT-GUI-VARS, was introduced: it tracks the location of the Tcl/Tk interpreter and activates the GUI tools rebuild if the interpreter path was changed. The separate tracker is better than the GIT-CFLAGS: there is no need to rebuild the whole git if the interpreter path was changed. Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>
| * | | | | Add --with-tcltk and --without-tcltk to configure.Eygene Ryabinkin2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --with-tcltk enables the search of the Tcl/Tk interpreter. If no interpreter is found then Tcl/Tk dependend parts are disabled. --without-tcltk unconditionally disables Tcl/Tk dependent parts. The original behaviour is not changed: bare './configure' just installs the Tcl/Tk part doing no checks for the interpreter. Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>
| * | | | | NO_TCLTKEygene Ryabinkin2007-03-31
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makefile knob named NO_TCLTK was introduced. It prevents the build and installation of the Tcl/Tk dependent parts. Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru>
* | | | | Merge branch 'post1.5.1/p4'Junio C Hamano2007-04-04
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * post1.5.1/p4: Added correct Python path to the RPM specfile. Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec Added git-p4 package to the list of git RPMs. Add the WITH_P4IMPORT knob to the Makefile.
| * | | | | Added correct Python path to the RPM specfile.Eygene Ryabinkin2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | Remove unused WITH_OWN_SUBPROCESS_PY from RPM specBrian Gernhardt2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't have a copy of subprocess.py anymore, so we removed that option from the Makefile. Let's not leave that cruft around the RPM spec file either. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | Added git-p4 package to the list of git RPMs.Eygene Ryabinkin2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | Add the WITH_P4IMPORT knob to the Makefile.Eygene Ryabinkin2007-03-31
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WITH_P4IMPORT: enables the installation of the Perforce import script. Signed-off-by: Eygene Ryabinkin <rea-git@codelabs.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Merge branch 'lt/dirwalk'Junio C Hamano2007-04-04
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * lt/dirwalk: Optimize directory listing with pathspec limiter.
| * | | | | Optimize directory listing with pathspec limiter.Linus Torvalds2007-03-31
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The way things are set up, you can now pass a "pathspec" to the "read_directory()" function. If you pass NULL, it acts exactly like it used to do (read everything). If you pass a non-NULL pointer, it will simplify it into a "these are the prefixes without any special characters", and stop any readdir() early if the path in question doesn't match any of the prefixes. NOTE! This does *not* obviate the need for the caller to do the *exact* pathspec match later. It's a first-level filter on "read_directory()", but it does not do the full pathspec thing. Maybe it should. But in the meantime, builtin-add.c really does need to do first read_directory(dir, .., pathspec); if (pathspec) prune_directory(dir, pathspec, baselen); ie the "prune_directory()" part will do the *exact* pathspec pruning, while the "read_directory()" will use the pathspec just to do some quick high-level pruning of the directories it will recurse into. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | GIT 1.5.1v1.5.1Junio C Hamano2007-04-03
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Merge 1.5.0.7 inJunio C Hamano2007-04-03
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | GIT 1.5.0.7v1.5.0.7Junio C Hamano2007-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not that this release really matters, as we will be doing 1.5.1 tomorrow. This commit is to tie the loose ends and merge all of "maint" branch into "master" in preparation. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | | rerere should not repeat the earlier hunks in later onesJunio C Hamano2007-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a file has more then one conflicting hunks, it repeated the contents of previous hunks in output for later ones. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | Documentation: A few minor fixes to Git User's ManualJakub Narebski2007-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly consistent usage of "git command" and not "git-command" syntax Signed-off-by: Jakub Narebski <jnareb@gmail.com> Acked-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | | Plug memory leak in index-pack collision checking codepath.Nicolas Pitre2007-04-03
| | | | | |
* | | | | | Hopefully final update to the draft Release Notes, preparing for 1.5.1Junio C Hamano2007-04-02
| |/ / / / |/| | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | cvsserver: Don't lie about binary mode in asciidoc documentationFrank Lichtenheld2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The git-cvsserver documentation claims that the server will set -k modes if appropriate which is not really the case. On the other hand the available gitcvs.allbinary variable is not documented at all. Fix both these issues by rewording the related paragraph. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | git-svn: fail on rebase if we are unable to find a ref to rebase againstEric Wong2007-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're on an invalid HEAD, we should detect this and avoid attempting to continue. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>