Staging
v0.5.1
swh:1:snp:c5feb7ee9221a3820c8879e85e8a18470c0b3afa

sort by:
Revision Author Date Message Commit Date
843142a GIT v1.5.2-rc3 Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 22:22:02 UTC
56822cc Document 'git-log --decorate' Signed-off-by: Michael Hendricks <michael@ndrix.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 22:21:54 UTC
1dcb3b6 Correct error message in revert/cherry-pick We now write to MERGE_MSG, not .msg. I missed this earlier when I changed the target we write to. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 22:21:50 UTC
2b93bfa Merge branch 'master' of git://repo.or.cz/git-gui * 'master' of git://repo.or.cz/git-gui: git gui 0.7.0 git-gui: Paperbag fix blame in subdirectory git-gui: Format author/committer times in ISO format git-gui: Cleanup minor nits in blame code git-gui: Generate blame on uncommitted working tree file git-gui: Smarter command line parsing for browser, blame git-gui: Use prefix if blame is run in a subdirectory git-gui: Convert blame to the "class" way of doing things git-gui: Don't attempt to inline array reads in methods git-gui: Convert browser, console to "class" format git-gui: Define a simple class/method system git-gui: Allow shift-{k,j} to select a range of branches to merge git-gui: Call changes "Staged" and "Unstaged" in file list titles. 10 May 2007, 22:08:18 UTC
d6da71a git gui 0.7.0 Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 10 May 2007, 21:54:45 UTC
6b3d8b9 git-gui: Paperbag fix blame in subdirectory Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 10 May 2007, 21:53:34 UTC
ffcc952 Merge branch 'maint' * maint: Fix documentation of tag in git-fast-import.txt Properly handle '0' filenames in import-tars 10 May 2007, 21:48:04 UTC
a9d9a1b Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint * 'maint' of git://repo.or.cz/git/fastimport: Fix documentation of tag in git-fast-import.txt Properly handle '0' filenames in import-tars 10 May 2007, 21:47:14 UTC
419ca50 Fix documentation of tag in git-fast-import.txt The tag command does not take a trailing LF. Signed-off-by: Richard P. Curnow <rc@rc0.org.uk> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 10 May 2007, 21:32:40 UTC
da774e8 Merge branch 'gfi-maint' into maint * gfi-maint: Properly handle '0' filenames in import-tars 10 May 2007, 21:31:27 UTC
63fcbe0 gitweb: Do not use absolute font sizes Avoid specifying font sizes in pixels, since that is just pure evil. Pointed out by Chris Riddoch. Note that this is pretty much just a proposal; I didn't test if everything fits perfectly right, but things seem to be pretty much okay. repo.or.cz uses it now as a test drive - if you find any visual quirks, please point them out, with a patch if possible since I'm total CSS noob and debugging CSS is an extremely painful experience for me. Note that this patch actually does change visual look of gitweb in Firefox with my resolution and default settings - everything is bigger and I can't explain the joy of actually seeing gitweb text that is in _readable_ size; also, my horizontal screen real estate feels better used now. But judging from the look of most modern webpages on the 'net, most people prefer reading the web with strained eyes and/or a magnifying glass (I wonder what species of scientists should look into this mystifying phenomenon) - so, please tell us what you think. Maybe we might want to get rid of absolute sizes other than font sizes in the CSS file too in the long term. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 21:13:29 UTC
35c49ee Git.pm: config_boolean() -> config_bool() This patch renames config_boolean() to config_bool() for consistency with the commandline interface and because it is shorter but still obvious. ;-) It also changes the return value from some obscure string to real Perl boolean, allowing for clean user code. Signed-off-by: Petr Baudis <pasky@suse.cz> 10 May 2007, 21:13:29 UTC
efa615b Merge branch 'maint' * maint: .mailmap: add some aliases SPECIFYING RANGES typo fix: it it => it is git-clone: don't get fooled by $PWD Fix documentation of tag in git-fast-import.txt 10 May 2007, 20:52:54 UTC
b722b95 .mailmap: add some aliases 10 May 2007, 20:26:26 UTC
e18ee57 SPECIFYING RANGES typo fix: it it => it is Signed-off-by: Jari Aalto <jari.aalto@cante.net> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 20:26:26 UTC
c2f599e git-clone: don't get fooled by $PWD If you have /home/me/git symlink pointing at /pub/git/mine, trying to clone from /pub/git/his/ using relative path would not work as expected: $ cd /home/me $ cd git $ ls ../ his mine $ git clone -l -s -n ../his/stuff.git This is because "cd ../his/stuff.git" done inside git-clone to check if the repository is local is confused by $PWD, which is set to /home/me, and tries to go to /home/his/stuff.git which is different from /pub/git/his/stuff.git. We could probably say "set -P" (or "cd -P") instead, if we know the shell is POSIX, but the way the patch is coded is probably more portable. [jc: this is updated with Andy Whitcroft's improvements] Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 20:26:14 UTC
7f9778b gitweb: choose appropriate view for file type if a= parameter missing gitweb URLs use the a= parameter for the view to use on the given path, such as "blob" or "tree". Currently, if a gitweb URL omits the a= parameter, gitweb just shows the top-level repository summary, regardless of the path given. gitweb could instead choose an appropriate view based on the file type: blob for blobs (files), tree for trees (directories), and summary if no path given (the URL included no f= parameter, or an empty f= parameter). Apart from making gitweb more robust and supporting URL editing more easily, this change would aid the creation of shortcuts to git repositories using simple substitution, such as: http://example.org/git/?p=path/to/repo.git;hb=HEAD;f=%s With this patch, if given the hash through the h= parameter, or the hash base (hb=) and a filename (f=), gitweb uses cat-file -t to automatically set the a= parameter. This feature was requested by Josh Triplett through http://bugs.debian.org/410465 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 07:42:43 UTC
7b6e0eb Added new git-gui library files to rpm spec "make rpm" breaks without these files. Signed-off-by: Quy Tonthat <qtonthat@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 07:09:28 UTC
c69f405 Fix documentation of tag in git-fast-import.txt The tag command does not take a trailing LF. Signed-off-by: Richard P. Curnow <rc@rc0.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net> 10 May 2007, 02:04:54 UTC
469be5b t9400: skip cvsserver test if Perl SQLite interface is unavailable Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 19:34:00 UTC
fba23c8 Merge branch 'fl/cvsserver' * fl/cvsserver: cvsserver: Add test cases for git-cvsserver 09 May 2007, 07:33:40 UTC
9e6c7e0 Merge branch 'jc/diffopt' * jc/diffopt: diff -S: release the image after looking for needle in it diff -M: release the preimage candidate blobs after rename detection. diff.c: do not use a separate "size cache". diff: release blobs after generating textual diff. 09 May 2007, 07:23:45 UTC
a626166 Merge branch 'jn/gitweb' * jn/gitweb: gitweb: Show combined diff for merge commits in 'commit' view gitweb: Show combined diff for merge commits in 'commitdiff' view gitweb: Make it possible to use pre-parsed info in git_difftree_body gitweb: Add combined diff support to git_patchset_body gitweb: Add combined diff support to git_difftree_body gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line 09 May 2007, 07:23:41 UTC
b3b5343 cvsserver: Add test cases for git-cvsserver Use the :fork: access method to force cvs to call "$CVS_SERVER server" even when accessing a local repository. Add a basic test for checkout and some tests for update. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 06:55:58 UTC
467592e Update documentation links to point at 1.5.1.4 Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 06:47:35 UTC
618e613 Increase pack.depth default to 50 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 05:47:17 UTC
842aaf9 Add pack.depth option to git-pack-objects. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 05:47:17 UTC
abda522 Use .git/MERGE_MSG in cherry-pick/revert Rather than storing the temporary commit message data in .msg (in the working tree) we now store the message data in .git/MERGE_MSG. By storing the message in the .git/ directory we are sure we will never have a collision with a user file, should a project actually have a ".msg" file in their top level tree. We also don't need to worry about leaving this stale file behind during a `reset --hard` and have it show up in the output of status. We are using .git/MERGE_MSG here to store the temporary message as it is an already established convention between git-merge, git-am and git-rebase that git-commit will default the user's edit buffer to the contents of .git/MERGE_MSG. If the user is going to need to resolve this commit or wants to edit the message on their own prepping that file with the desired message "just works". Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 05:47:09 UTC
4662231 Merge branch 'maint' * maint: GIT v1.5.1.4 Add howto files to rpm packages. wcwidth redeclaration user-manual: fix clone and fetch typos 09 May 2007, 05:46:56 UTC
1cc202b GIT v1.5.1.4 Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 05:11:17 UTC
22f0958 Add howto files to rpm packages. RPM packages did not include howto files which causes broken links in howto-index.html Signed-off-by: Quy Tonthat <qtonthat@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 09 May 2007, 05:09:04 UTC
76486bb git-gui: Format author/committer times in ISO format This is a simple change to match what gitk does when it shows a commit; we format using ISO dates (yyyy-mm-dd HH:MM:SS). Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 04:48:27 UTC
0511798 git-gui: Cleanup minor nits in blame code We can use [list ...] rather than "", especially when we are talking about values as then they are properly escaped if necessary. Small nit, but probably not a huge deal as the only data being inlined here is Tk paths. Some of the lines in the parser code were longer than 80 characters wide, and they actually were all the same value on the end part of the line. Rather than keeping the mess copied-and-pasted around we can set the last argument into a local variable and reuse it many times. The commit display code was also rather difficult to read on an 80 character wide terminal, so I'm moving it all into a double quoted string that is easier to read. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 04:36:25 UTC
a0db0d6 git-gui: Generate blame on uncommitted working tree file If the user doesn't give us a revision parameter to our blame subcommand then we can generate blame against the working tree file by passing the file path off to blame with the --contents argument. In this case we cannot obtain the contents of the file from the ODB; instead we must obtain the contents by reading the working directory file as-is. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 02:48:47 UTC
3e45ee1 git-gui: Smarter command line parsing for browser, blame The browser subcommand now optionally accepts a single revision argument; if no revision argument is supplied then we use the current branch as the tree to browse. This is very common, so its a nice option. Our blame subcommand now tries to perform the same assumptions as the command line git-blame; both the revision and the file are optional. We assume the argument is a filename if the file exists in the working directory, otherwise we assume the argument is a revision name. A -- can be supplied between the two to force parsing, or before the filename to force it to be a filename. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 02:36:01 UTC
c612785 git-gui: Use prefix if blame is run in a subdirectory I think it was Andy Parkins who pointed out that git gui blame HEAD f does not work if f is in a subdirectory and we are currently running git-gui within that subdirectory. This is happening because we did not take the user's prefix into account when we computed the file path in the repository. We now assume the prefix as returned by rev-parse --show-prefix is valid and we use that during the command line blame subcommand when we apply the parameters. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:58:25 UTC
685caf9 git-gui: Convert blame to the "class" way of doing things Our blame viewer code has historically been a mess simply because the data for multiple viewers was all crammed into a single pair of Tcl arrays. This made the code hard to read and even harder to maintain. Now that we have a slightly better way of tracking the data for our "meta-widgets" we can make use of it here in the blame viewer to cleanup the code and make it easier to work with long term. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:38:55 UTC
28bf928 git-gui: Don't attempt to inline array reads in methods If a variable reference to a field is to an array, and it is the only reference to that field in that method we cannot make it an inlined [set foo] call as the regexp was converting the Tcl code wrong. We were producing "[set foo](x)" for "$foo(x)", and that isn't valid Tcl when foo is an array. So we just punt if the only occurance has a ( after it. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:38:54 UTC
c74b6c6 git-gui: Convert browser, console to "class" format Now that we have a slightly easier method of working with per-widget data we should make use of that technique in our browser and console meta-widgets, as both have a decent amount of information that they store on a per-widget basis and our current approach of handling it is difficult to follow. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:38:54 UTC
1f07c4e git-gui: Define a simple class/method system As most of the git-gui interface is based upon "meta-widgets" that need to carry around a good deal of state (e.g. console windows, browser windows, blame viewer) we have a good deal of messy code that tries to store this meta-widget state in global arrays, where keys into the array are formed from a union of a unique "object instance id" and the field name. This is a simple class system for Tcl that allows us to hide much of that mess by making Tcl do what it does best; process strings to manipulate its own code during startup. Each object instance is placed into its own namespace. The namespace is created when the object instance is created and the namespace is destroyed when the object instance is removed from the system. Within that namespace we place variables for each field within the class; these variables can themselves be scalar values or full-blown Tcl arrays. A simple class might be defined as: class map { field data field size 0 constructor {} { return $this } method set {name value} { set data($name) $value incr size } method size {} { return $size } ifdeleted { return 0 } } All fields must be declared before any constructors or methods. This allows our class to generate a list of the fields so it can properly alter the definition of the constructor and method bodies prior to passing them off to Tcl for definition with proc. A field may optionally be given a default/initial value. This can only be done for non-array type fields. Constructors are given full access to all fields of the class, so they can initialize the data values. The default values of fields (if any) are set before the constructor runs, and the implicit local variable $this is initialized to the instance identifier. Methods are given access to fields they actually use in their body. Every method has an implicit "this" argument inserted as its first parameter; callers of methods must be sure they supply this value. Some basic optimization tricks are performed (but not much). We try to only upvar (locally bind) fields that are accessed within a method, but we err on the side of caution and may upvar more than we need to. If a variable is accessed only once within a method and that access is by $foo (read) we avoid the upvar and instead use [set foo] to obtain the value. This is slightly faster as Tcl does not need to lookup the variable twice. We also offer some small syntatic sugar for interacting with Tk and the fileevent callback system in Tcl. If a field (say "foo") is used as "@foo" we insert instead the true global variable name of that variable into the body of the constructor or method. This allows easy binding to Tk textvariable options, e.g.: label $w.title -textvariable @title Proper namespace callbacks can also be setup with the special cb proc that is defined in each namespace. [cb _foo a] will invoke the method _foo in the current namespace, passing it $this as the first (implied) parameter and a as the second parameter. This makes it very simple to connect an object instance to a -command option for a Tk widget or to a fileevent readable or writable for a file channel. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:38:54 UTC
cc1f83f git-gui: Allow shift-{k,j} to select a range of branches to merge I found it useful to be able to use j/k (vi-like keys) to move up and down the list of branches to merge and shift-j/k to do the selection, much as shift-up/down (arrow keys) would alter the selection. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 09 May 2007, 01:38:46 UTC
f0bc498 Merge branch 'maint' * maint: git-gui: Call changes "Staged" and "Unstaged" in file list titles. 08 May 2007, 14:42:16 UTC
a1a4975 git-gui: Call changes "Staged" and "Unstaged" in file list titles. All menu entries talk about "staging" and "unstaging" changes, but the titles of the file lists use different wording, which may confuse newcomers. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 14:35:58 UTC
b51be13 wcwidth redeclaration Build fails for git 1.5.1.3 on AIX, with the message: utf8.c:66: error: conflicting types for 'wcwidth' /.../lib/gcc/powerpc-ibm-aix5.3.0.0/4.0.3/include/string.h:266: error: previous declaration of 'wcwidth' was here Fix this by renaming our static variant to our own name. Signed-off-by: Amos Waterland <apw@us.ibm.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 05:02:40 UTC
52c8003 user-manual: fix clone and fetch typos More typo fixes from Santi Béjar, plus a couple other mistakes I noticed along the way. Cc: Santi Béjar <sbejar@gmail.com> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 04:25:09 UTC
a42cbac Remove duplicate exports from Makefile We already export these variables earlier in the Makefile, right after they were 'declared'. There is no point in doing so again. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:53:06 UTC
5f5dbd7 Merge branch 'master' of git://repo.or.cz/git-gui * 'master' of git://repo.or.cz/git-gui: git-gui: Use vi-like keys in merge dialog git-gui: Include commit id/subject in merge choices git-gui: Show all possible branches for merge git-gui: Move merge support into a namespace git-gui: Allow vi keys to scroll the diff/blame regions git-gui: Move console procs into their own namespace git-gui: Refactor into multiple files to save my sanity git-gui: Track our own embedded values and rebuild when they change git-gui: Refactor to use our git proc more often git-gui: Use option database defaults to set the font git-gui: Cleanup common font handling for font_ui git-gui: Correct line wrapping for too many branch message git-gui: Warn users before making an octopus merge git-gui: Include the subject in the status bar after commit Also perform an evil merge change to update Git's main Makefile to pass the proper options down into git-gui now that it depends on reasonable values for 'sharedir' and 'TCL_PATH'. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:51:00 UTC
ebcaada git-gui: Use vi-like keys in merge dialog Since we support vi-like keys for scrolling in other UI contexts we can easily do so here too. Tk's handy little `event generate' makes this a lot easier than I thought it would be. We may want to go back and fix some of the other vi-like bindings to redirect to the arrow and pageup/pagedown keys, rather than running the view changes directly. I've bound 'v' to visualize, as this is a somewhat common thing to want to do in the merge dialog. Control (or Command) Return is also bound to start the merge, much as it is bound in the main window to activate the commit. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:53 UTC
1fc4ba8 git-gui: Include commit id/subject in merge choices When merging branches using our local merge feature it can be handy to know the first few digits of the commit the ref points at as well as the short description of the branch name. Unfortunately I'm unable to use three listboxes in a row, as Tcl freaks out and refuses to let me have a selection in more than one of them at any given point in time. So instead we use a fixed width font in the existing listbox and organize the data into three columns. Not nearly as nice looking, but users can continue to use the listbox's features. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:52 UTC
349f92e git-gui: Show all possible branches for merge Johannes Sixt pointed out that git-gui was randomly selecting which branch (or tag!) it will show in the merge dialog when more than one ref points at the same commit. This can be a problem for the user if they want to merge a branch, but the ref that git-gui selected to display was actually a tag that points at the commit at the tip of that branch. Since the user is looking for the branch, and not the tag, its confusing to not find it, and worse, merging the tag causes git-merge to generate a different message than if the branch was selected. While I am in here and am messing around I have changed the for-each-ref usage to take advantage of its --tcl formatting, and to fetch the subject line of the commit (or tag) we are looking at. This way we could present the subject line in the UI to the user, given them an even better chance to select the correct branch. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:52 UTC
a6c9b08 git-gui: Move merge support into a namespace Like the console procs I have moved the code related to merge support into their own namespace, so that they are isolated from the rest of the world. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:51 UTC
60aa065 git-gui: Allow vi keys to scroll the diff/blame regions Users who are used to vi and recent versions of gitk may want to scroll the diff region using vi style keybindings. Since these aren't bound to anything else and that widget does not accept focus for data input, we can easily support that too. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:51 UTC
a35d65d git-gui: Move console procs into their own namespace To help modularize git-gui better I'm isolating the code and variables required to handle our little console windows into their own namespace. This way we can say console::new rather than new_console, and the hidden internal procs to create the window and read data from our filehandle are off in their own private little land, where most users don't see them. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:50 UTC
f522c9b git-gui: Refactor into multiple files to save my sanity I'm finding it difficult to work with a 6,000+ line Tcl script and not go insane while looking for a particular block of code. Since most of the program is organized into different units of functionality and not all users will need all units immediately on startup we can improve things by splitting procs out into multiple files and let auto_load handle things for us. This should help not only to better organize the source, but it may also improve startup times for some users as the Tcl parser does not need to read as much script before it can show the UI. In many cases the user can avoid reading at least half of git-gui now. Unfortunately we now need a library directory in our runtime location. This is currently assumed to be $(sharedir)/git-gui/lib and its expected that the Makefile invoker will setup some sort of reasonable sharedir value for us, or let us assume its going to be $(gitexecdir)/../share. We now also require a tclsh (in TCL_PATH) to just run the Makefile, as we use tclsh to generate the tclIndex for our lib directory. I'm hoping this is not an unncessary burden on end-users who are building from source. I haven't really made any functionality changes here, this is just a huge migration of code from one file to many smaller files. All of the new changes are to setup the library path and install the library files. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 03:35:48 UTC
208ecb2 gitweb: Show combined diff for merge commits in 'commit' view When commit shown is a merge commit (has more than one parent), display combined difftree output (result of git-diff-tree -c). Earlier (since commit 549ab4a30703012ff3a12b5455d319216805a8db) difftree output (against first parent) was not printed for merges. Examples of non-trivial merges: 5bac4a671907604b5fb4e24ff682d5b0e8431931 (includes rename) addafaf92eeb86033da91323d0d3ad7a496dae83 (five parents) 95f97567c1887d77f3a46b42d8622c76414d964d (evil merge) Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:19 UTC
fb1dde4 gitweb: Show combined diff for merge commits in 'commitdiff' view When 'commitdiff' action is requested without 'hp' (hash parent) parameter, and commit given by 'h' (hash) parameter is merge commit, show merge as combined diff. Earlier for merge commits without 'hp' parameter diff to first parent was shown. Note that in compact combined (--cc) format 'uninteresting' hunks omission mechanism can make that there is no patch corresponding to line in raw format (difftree) output. That is why (at least for now) we use --combined and not --cc format for showing commitdiff for merge commits. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:19 UTC
493e01d gitweb: Make it possible to use pre-parsed info in git_difftree_body Make it possible to use pre-parsed, or generated by hand, difftree info in git_difftree_body, similarly to how was and is it done in git_patchset_body. Use just introduced feature in git_commitdiff to parse difftree info (raw diff output) only once: difftree info is now parsed in git_commitdiff directly, and parsed information is passed to both git_difftree_body and git_patchset_body. (Till now only git_blobdiff made use of git_patchset_body ability to use pre-parsed or hand generated info.) Additionally this makes rename info for combined diff with renames (or copies) calculated only once in git_difftree_body; the $difftree is modified and git_patchset_body makes use of added info. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:19 UTC
e72c0ea gitweb: Add combined diff support to git_patchset_body Calling convention for combined diff similar to the one for git_difftree_body subroutine: difftree info (first parameter) must be result of calling git-diff-tree with -c/--cc option, and all parents of a commit must be passed as last parameters. See also description in "gitweb: Add combined diff support to git_difftree_body" This ability is not used yet. Generating "src" file name for renames in combined diff was separated into fill_from_file_info subroutine; git_difftree_body was modified to use it. Currently git_difftree_body and git_patchset_body fills this info separately. The from-file line in two-line from-file/to-file header is not hyperlinked: there can be more than one "from"/"src" file. This differs from HTML output of ordinary (not combined) diff. format_diff_line subroutine needs extra $from/$to parameters to format combined diff patch line correctly. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:19 UTC
ed224de gitweb: Add combined diff support to git_difftree_body You have to pass all parents as final parameters of git_difftree_body subroutine; the number of parents of a diff must be equal to the number derived from parsing git-diff-tree output, raw combined diff for git_difftree_body to display combined diff correctly (but it is not checked). Currently the possibility of displaying diffree of combined diff is not used in gitweb code; git_difftree_body is always caled for ordinary diff, and with only one parent. Description of output for combined diff: ---------------------------------------- The difftree table for combined diff starts with a cell with pathname of changed blob (changed file), which if possible is hidden link (class="list") to the 'blob' view of final version (if it exists), like for difftree for ordinary diff. If file was deleted in the final commit then filename is not hyperlinked. There is no cell with single file status (new, deleted, mode change, rename), as for combined diff as there is no single status: different parents might have different status. If git_difftree_body was called from git_commitdiff (for 'commitdiff' action) there is inner link to anchor to appropriate fragment (patch) in patchset body; the "patch" link does not replace "diff" link like for ordinary diff. Each of "diff" links is in separate cell, contrary to output for ordinary diff in which all links are (at least for now) in a single cell. For each parent, if file was not present we leave cell empty. If file was deleted in the result, we provide link to 'blob' view. Otherwise we provide link to 'commitdiff' view, even if patch (diff) consist only of extended diff header, and contents is not changed (pure rename, pure mode change). The only difference is that link to "blobdiff" view with no contents change is with 'nochange' class. At last, there is provided link to current version of file as "blob" link, if the file was not deleted in the result, and lik to history of a file, if there exists one. (The link to file history might be confused, at least for now, by renames.) Note that git-diff-tree raw output dor combined diff does not provide filename before change for renames and copies; we use git_get_path_by_hash to get "src" filename for renames (this means additional call to git-ls-tree for a _whole_ tree). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:18 UTC
78bc403 gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line Add parsing line of raw combined diff ("git diff-tree -c/-cc" output) as described in section "diff format for merges" in diff-format.txt to parse_difftree_raw_line subroutine. Returned hash (or hashref) has for combined diff 'nparents' key which holds number of parents in a merge. At keys 'from_mode' and 'from_id' there are arrayrefs holding modes and ids, respectively. There is no 'similarity' value, and there is only 'to_file' value and no 'from_file' value. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 08 May 2007, 01:20:18 UTC
d966e6a Properly handle '0' filenames in import-tars Randal L. Schwartz pointed out multiple times that we should be testing the length of the name string here, not if it is "true". The problem is the string '0' is actually false in Perl when we try to evaluate it in this context, as '0' is 0 numerically and the number 0 is treated as a false value. This would cause us to break out of the import loop early if anyone had a file or directory named "0". Signed-off-by: Shawn O. Pearce <spearce@spearce.org> 08 May 2007, 01:13:40 UTC
a0cb940 diff -S: release the image after looking for needle in it Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:54:32 UTC
50b2b53 diff -M: release the preimage candidate blobs after rename detection. We released the postimage candidate blobs after we are done to reduce memory pressure. Do the same for preimage candidate blobs. Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:54:32 UTC
6e0b8ed diff.c: do not use a separate "size cache". diff_filespec has a slot to record the size of the data already, so make use of it instead of a separate size cache. Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:54:32 UTC
fc3abdf diff: release blobs after generating textual diff. This reduces the memory pressure when dealing with many paths. An unscientific test of running "diff-tree --stat --summary -M" between v2.6.19 and v2.6.20-rc1 in the linux kernel repository indicates that the number of minor faults are reduced by 2/3. Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:54:32 UTC
3082acf Use GIT_OBJECT_DIR for temporary files of pack-objects Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:45:24 UTC
0fc4bae Fix minor documentation errors - git-ls-files.txt: typo in description of --ignored - git-clean.txt: s/forceRequire/requireForce/ Signed-off-by: Michael Spang <mspang@uwaterloo.ca> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:39:57 UTC
ec0e0f2 t7300: Basic tests for git-clean This tests the -d, -n, -f, -x, and -X options to git-clean. Signed-off-by: Michael Spang <mspang@uwaterloo.ca> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:34:55 UTC
b991625 dir.c: Omit non-excluded directories with dir->show_ignored This makes "git-ls-files --others --directory --ignored" behave as documented and consequently also fixes "git-clean -d -X". Previously, git-clean would remove non-excluded directories even when using the -X option. Signed-off-by: Michael Spang <mspang@uwaterloo.ca> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 22:29:29 UTC
070739f Merge branch 'master' of git://repo.or.cz/git-gui * 'master' of git://repo.or.cz/git-gui: git-gui: Correctly handle UTF-8 encoded commit messages 07 May 2007, 21:47:14 UTC
679c7c5 Merge branch 'maint' * maint: Documentation: don't reference non-existent 'git-cvsapplycommit' user-manual: stop deprecating the manual user-manual: miscellaneous editing user-manual: fix .gitconfig editing examples user-manual: clean up fast-forward and dangling-objects sections user-manual: add section ID's user-manual: more discussion of detached heads, fix typos git-gui: Allow spaces in path to 'wish' gitk: Allow user to choose whether to see the diff, old file, or new file 07 May 2007, 21:46:48 UTC
53a5824 Merge branch 'maint' of git://repo.or.cz/git-gui into maint * 'maint' of git://repo.or.cz/git-gui: git-gui: Allow spaces in path to 'wish' 07 May 2007, 21:46:15 UTC
bff898b Merge git://git2.kernel.org/pub/scm/gitk/gitk into maint * git://git2.kernel.org/pub/scm/gitk/gitk: gitk: Allow user to choose whether to see the diff, old file, or new file 07 May 2007, 21:40:41 UTC
e701ccc Added a reference to git-add in the documentation for git-update-index Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 07:15:00 UTC
bc3561f Document git add -u introduced earlier. This command was implemented, but not documented in dfdac5d9b877641d3aad8ec49f64c2730a3487e3. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 07:14:53 UTC
604d7a1 Documentation: don't reference non-existent 'git-cvsapplycommit' Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net> 07 May 2007, 06:30:38 UTC
a1dc34f user-manual: stop deprecating the manual It's just as much a work-in-progress, but at least now it's gotten enough technical review to shake out most of the really bad lies, so hopefully it doesn't do any actual damage. And if we encourage people to read it, they'll be more likely to whine about it, which will help get it fixed faster. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> 07 May 2007, 05:03:53 UTC
c64415e user-manual: miscellaneous editing I cherry-picked some additional miscellaneous fixes from those suggested by Santi Béjar, including fixes to: - correct discussion of repository/HEAD->repository shortcut - add mention of git-mergetool - add mention of --track - mention "-f" as well as "+" for fetch Cc: Santi Béjar <sbejar@gmail.com> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> 07 May 2007, 05:03:53 UTC
58c19d1 user-manual: fix .gitconfig editing examples Santi Béjar points out that when telling people how to "introduce themselves" to git we're advising them to replace their entire .gitconfig file. Fix that. Cc: "Santi Béjar <sbejar@gmail.com> Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> 07 May 2007, 05:03:53 UTC
5972304 user-manual: clean up fast-forward and dangling-objects sections The previous commit calls attention to the fact that we have two sections each devoted to fast-forwards and to dangling objects. Revise and attempt to differentiate them a bit. Some more reorganization may be required later.... Signed-off-by: J. Bruce Fields 07 May 2007, 05:03:52 UTC
e34caac user-manual: add section ID's Any section lacking an id gets an annoying warning when you build the manual. More seriously, the table of contents then generates volatile id's which change with every build, with the effect that we get URL's that change all the time. The ID's are manually generated and sometimes inconsistent, but that's OK. XXX: what to do about the preface? Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> 07 May 2007, 05:03:52 UTC
953f3d6 user-manual: more discussion of detached heads, fix typos Nicolas Pitre pointed out a couple typos and some room for improvement in the discussion of detached heads. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Cc: Nicolas Pitre <nico@cam.org> 07 May 2007, 05:03:52 UTC
9159afb GIT v1.5.2-rc2 Signed-off-by: Junio C Hamano <junkio@cox.net> 06 May 2007, 08:07:04 UTC
125a5f1 Merge branch 'maint' * 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 06 May 2007, 07:21:03 UTC
cc0e6c5 Handle return code of parse_commit in revision machinery 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> 06 May 2007, 07:07:07 UTC
e102d43 Small correction in reading of commit headers 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> 06 May 2007, 06:46:18 UTC
cf593cc Documentation: fix typo in git-remote.txt Signed-off-by: James Bowes <jbowes@dangerouslyinc.com> Signed-off-by: Junio C Hamano <junkio@cox.net> 06 May 2007, 06:10:59 UTC
c2a0636 Add test for blame corner cases. Signed-off-by: Junio C Hamano <junkio@cox.net> 06 May 2007, 05:40:39 UTC
c63777c blame: -C -C -C 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> 06 May 2007, 05:40:27 UTC
dd166aa blame: Notice a wholesale incorporation of an existing file. 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> 06 May 2007, 05:40:13 UTC
e330a40 Fix --boundary output "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> 06 May 2007, 04:09:34 UTC
3b559ea diff format documentation: describe raw combined diff format 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> 04 May 2007, 23:58:17 UTC
71f4b18 Mention version 1.5.1 in tutorial and user-manual 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> 04 May 2007, 23:58:03 UTC
171af11 Add --no-rebase option to git-svn dcommit 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> 04 May 2007, 22:08:31 UTC
cc1793e Fix markup in git-svn man page 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> 04 May 2007, 22:03:48 UTC
86b9e01 git-tag(1): -v option is a subcommand; fix code block 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> 04 May 2007, 06:27:03 UTC
ff06c74 Improve request-pull to handle non-rebased branches 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> 04 May 2007, 06:27:03 UTC
9aae177 Merge branch 'maint' * 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. 04 May 2007, 06:26:54 UTC
e3ad95a gitweb: use decode_utf8 directly 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> 04 May 2007, 06:22:12 UTC
c256acb posix compatibility for t4200 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> 04 May 2007, 05:58:01 UTC
back to top