aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge branch 'maint' of git://repo.or.cz/git-gui into maintShawn O. Pearce2007-10-20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * 'maint' of git://repo.or.cz/git-gui: git-gui: Don't display CR within console windows git-gui: Handle progress bars from newer gits git-gui: Correctly report failures from git-write-tree git-gui: accept versions containing text annotations, like 1.5.3.mingw.1 git-gui: Don't crash when starting gitk from a browser session git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs git-gui: Handle starting on mapped shares under Cygwin git-gui: Display message box when we cannot find git in $PATH git-gui: Avoid using bold text in entire gui for some fonts
| * git-gui: Don't display CR within console windowsgitgui-0.8.4Shawn O. Pearce2007-10-20
| | | | | | | | | | | | | | | | | | Git progress bars from tools like git-push and git-fetch use CR to skip back to the start of the current line and redraw it with an updated progress. We were doing this in our Tk widget but had failed to skip the CR, which Tk doesn't draw well. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Handle progress bars from newer gitsShawn O. Pearce2007-10-20
| | | | | | | | | | | | | | | | | | | | Post Git 1.5.3 a new style progress bar has been introduced that uses only one line rather than two. The formatting of the completed and total section is also slightly different so we must adjust our regexp to match. Unfortunately both styles are in active use by different versions of Git so we need to look for both. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Correctly report failures from git-write-treeShawn O. Pearce2007-10-20
| | | | | | | | | | | | | | | | | | If git-write-tree fails (such as if the index file is currently locked and it wants to write to it) we were not getting the error message as $tree_id was always the empty string so we shortcut through the catch and never got the output from stderr. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: accept versions containing text annotations, like 1.5.3.mingw.1Steffen Prohaska2007-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit teaches git-gui to accept versions with annotations that start with text and optionally end with a dot followed by a number. This is needed by the current versioning scheme of msysgit, which uses versions like 1.5.3.mingw.1. However, the changes is not limited to this use case. Any version of the form <numeric version>.<anytext>.<number> would be parsed and only the starting <numeric version> used for validation. [sp: Minor edit to remove unnecessary group matching] Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Don't crash when starting gitk from a browser sessionShawn O. Pearce2007-10-03
| | | | | | | | | | | | | | | | | | If the user has started git-gui from the command line as a browser we offer the gitk menu options but we didn't create the main status bar widget in the "." toplevel. Trying to access it while starting gitk just results in Tcl errors. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Allow gitk to be started on Cygwin with native Tcl/TkShawn O. Pearce2007-10-03
| | | | | | | | | | | | | | | | | | | | | | gitk expects $env(GIT_DIR) to be valid as both a path that core Git and Tcl/Tk can resolve to a valid directory, but it has no special handling for Cygwin style UNIX paths and Windows style paths. So we need to do that for gitk and ensure that only relative paths are fed to it, thus allowing both Cygwin style and UNIX style paths to be resolved. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Ensure .git/info/exclude is honored in Cygwin workdirsShawn O. Pearce2007-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are using Cygwin and the git repository is actually a workdir (by way of git-new-workdir) but this Tcl process is a native Tcl/Tk and not the Cygwin Tcl/Tk then we are unable to traverse the .git/info path as it is a Cygwin symlink and not a standard Windows directory. So we actually need to start a Cygwin process that can do the path translation for us and let it test for .git/info/exclude so we know if we can include that file in our git-ls-files or not. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Handle starting on mapped shares under CygwinShawn O. Pearce2007-09-21
| | | | | | | | | | | | | | | | | | | | | | | | I really cannot explain Cygwin's behavior here but if we start git-gui through Cygwin on a local drive it appears that Cygwin is leaving $env(PATH) in Unix style, even if it started a native (non-Cygwin) Tcl/Tk process to run git-gui. Yet starting that same git-gui and Tcl/Tk combination through Cygwin on a network share causes it to automatically convert $env(PATH) into Windows style, which broke our internal "which" implementation. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Display message box when we cannot find git in $PATHShawn O. Pearce2007-09-21
| | | | | | | | | | | | | | | | | | | | | | If we cannot find the git executable in the user's $PATH then we cannot function correctly. Because we need that to get the version so we can load our library correctly we cannot rely on the library function "error_popup" here, as this is all running before the library path has been configured, so error_popup is not available to us. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * git-gui: Avoid using bold text in entire gui for some fontsSimon Sasburg2007-09-20
| | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Improve receive-pack error message about funny ref creationJoakim Tjernlund2007-10-20
| | | | | | | | | | | | | | | | receive-pack is only executed remotely so when reporting errors, say so. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | fast-import: Fix argument order to die in file_change_mJulian Phillips2007-10-20
| | | | | | | | | | | | | | | | | | | | The arguments to the "Not a blob" die call in file_change_m were transposed, so that the command was printed as the type, and the type as the command. Switch them around so that the error message comes out correctly. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | gitk.txt: Fix markup.Ralf Wildenhues2007-10-19
| | | | | | | | | | | | | | For the manpage, avoid generating an em dash in code. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | send-pack: respect '+' on wildcard refspecsJeff King2007-10-19
| | | | | | | | | | | | | | | | | | | | | | | | When matching source and destination refs, we were failing to pull the 'force' parameter from wildcard refspecs (but not explicit ones) and attach it to the ref struct. This adds a test for explicit and wildcard refspecs; the latter fails without this patch. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Paper bag fix diff invocation in 'git stash show'Shawn O. Pearce2007-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | In 89d750bf6fa025edeb31ad258cdd09a27a5c02fa I got a little too aggressive with changing "git diff" to "git diff-tree". This is shown to the user, who expects to see a full diff on their console, and will want to see the output of their custom diff drivers (if any) as the whole point of this call site is to show the diff to the end-user. Noticed by Johannes Sixt <j.sixt@viscovery.net>. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Further 1.5.3.5 fixes described in release notesShawn O. Pearce2007-10-19
| | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Avoid invoking diff drivers during git-stashShawn O. Pearce2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | git-stash needs to restrict itself to plumbing when running automated diffs as part of its operation as the user may have configured a custom diff driver that opens an interactive UI for certain/all files. Doing that during scripted actions is very unfriendly to the end-user and may cause git-stash to fail to work. Reported by Johannes Sixt Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | attr: fix segfault in gitattributes parsing codeSteffen Prohaska2007-10-18
| | | | | | | | | | | | | | | | | | git may segfault if gitattributes contains an invalid entry. A test is added to t0020 that triggers the segfault. The parsing code is fixed to avoid the crash. Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Define NI_MAXSERV if not defined by operating systemPatrick Welche2007-10-18
| | | | | | | | | | | | | | | | I found I needed NI_MAXSERV as it is defined in netdb.h, which is not included by daemon.c. Rather than including the whole header we can define a reasonable fallback value. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Ensure we add directories in the correct orderAlex Bennee2007-10-18
| | | | | | | | | | | | | | CVS gets understandably upset if you try and add a subdirectory before it's parent directory. This patch fixes that. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Avoid scary errors about tagged trees/blobs during git-fetchLinus Torvalds2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, what is going on is: - append_fetch_head() looks up the SHA1 for all heads (including tags): if (get_sha1(head, sha1)) return error("Not a valid object name: %s", head); - it then wants to check if it's a candidate for merging (because fetching also does the whole "list which heads to merge" in case it is going to be part of a "pull"): commit = lookup_commit_reference(sha1); if (!commit) not_for_merge = 1; - and that "lookup_commit_reference()" is just very vocal about the case where it fails. It really shouldn't be, and it shouldn't affect the actual end result, but that basically explains why you get that scary warning. In short, the warning is just bogus, and should be harmless, but I agree that it's ugly. I think the appended patch should fix it. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Yet more 1.5.3.5 fixes mentioned in release notesShawn O. Pearce2007-10-18
| | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | cvsserver: Use exit 1 instead of die when req_Root fails.Brian Gernhardt2007-10-18
| | | | | | | | | | | | | | This was causing test failures because die was exiting 255. Signed-off-by: Brian Gernhardt <benji@silverinsanity.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-blame shouldn't crash if run in an unmerged treeLinus Torvalds2007-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are in the middle of resolving a merge conflict there may be one or more files whose entries in the index represent an unmerged state (index entries in the higher-order stages). Attempting to run git-blame on any file in such a working directory resulted in "fatal: internal error: ce_mode is 0" as we use the magic marker for an unmerged entry is 0 (set up by things like diff-lib.c's do_diff_cache() and builtin-read-tree.c's read_tree_unmerged()) and the ce_match_stat_basic() function gets upset about this. I'm not entirely sure that the whole "ce_mode = 0" case is a good idea to begin with, and maybe the right thing to do is to remove that horrid freakish special case, but removing the internal error seems to be the simplest fix for now. Linus [sp: Thanks to Björn Steinbrink for the test case] Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-config: print error message if the config file cannot be readGerrit Pape2007-10-18
| | | | | | | | | | | | | | | | | | | | | | Instead of simply exiting with 255, print an error message including the reason why a config file specified through --file cannot be opened or read. The problem was noticed by Joey Hess, reported through http://bugs.debian.org/445208 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | fixing output of non-fast-forward output of post-receive-emailRobert Schiele2007-10-18
| | | | | | | | | | | | | | | | | | | | | | post-receive-email has one place where the variable fast_forward is not spelled correctly. At the same place the logic was reversed. The combination of both bugs made the script work correctly for fast-forward commits but not for non-fast-forward ones. This change fixes this to be correct in both cases. Signed-off-by: Robert Schiele <rschiele@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Document additional 1.5.3.5 fixes in release notesShawn O. Pearce2007-10-16
| | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Avoid 'expr index' on Mac OS X as it isn't supportedShawn O. Pearce2007-10-16
| | | | | | | | | | | | | | | | This fixes git-instaweb so it can start an httpd without warning about an invalid test command. Yes its ugly, but its also quite portable. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | filter-branch: update current branch when rewrittenJohannes Schindelin2007-10-16
| | | | | | | | | | | | | | | | Earlier, "git filter-branch --<options> HEAD" would not update the working tree after rewriting the branch. This commit fixes it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | fix filter-branch documentationJohannes Schindelin2007-10-16
| | | | | | | | | | | | | | | | | | | | | | The man page for filter-branch still talked about writing the result to the branch "newbranch". This is hopefully the last place where the old behaviour was described. Noticed by Bill Lear. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | helpful error message when send-pack finds no refs in common.Andrew Clausen2007-10-16
| | | | | | | | | | Signed-off-by: Andrew Clausen <clausen@econ.upenn.edu> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREEJohannes Schindelin2007-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few programs, such as config and diff, which allow running without a git repository. Therefore, they have to call setup_git_directory_gently(). However, when GIT_DIR and GIT_WORK_TREE were set, and the current directory was a subdirectory of the work tree, setup_git_directory_gently() would return a bogus NULL prefix. This patch fixes that. Noticed by REPLeffect on IRC. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Correct typos in release notes for 1.5.3.5Shawn O. Pearce2007-10-16
| | | | | | | | | | | | Noticed by Michele Ballabio. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Whip post 1.5.3.4 maintenance series into shape.Shawn O. Pearce2007-10-15
| | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | rebase -i: use diff plumbing instead of porcelainJohannes Schindelin2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | When diff drivers are installed, calling "git diff <tree1>..<tree2>" calls those drivers. This borks the patch generation of rebase -i. So use "git diff-tree -p" instead, which does not call diff drivers. Noticed by Johannes Sixt. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Do not remove distributed configure scriptMathias Megyei2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch the clean target has removed the configure script that comes with Git tar file. That made compiling Git for different architectures inconvenient. This patch excludes configure from the files to be deleted by 'make clean' and adds new target 'distclean' to preserve old functionality. Signed-off-by: Mathias Megyei <mathias@mnet-mail.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-archive: document --execMichele Ballabio2007-10-15
| | | | | | | | | | | | Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-reflog: document --verboseMichele Ballabio2007-10-15
| | | | | | | | | | | | Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-config: handle --file option with relative pathname properlyGerrit Pape2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling git-config not from the top level directory of a repository, it changes directory before trying to open the config file specified through the --file option, which then fails if the config file was specified by a relative pathname. This patch adjusts the pathname to the config file if applicable. The problem was noticed by Joey Hess, reported through http://bugs.debian.org/445208 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | clear_commit_marks(): avoid deep recursionJohannes Schindelin2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, clear_commit_marks() recursed for each parent. This could be potentially very expensive in terms of stack space. Probably the only reason that this did not lead to problems is the fact that we typically call clear_commit_marks() after marking a relatively small set of commits. Use (sort of) a tail recursion instead: first recurse on the parents other than the first one, and then continue the loop with the first parent. Noticed by Shawn Pearce. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git add -i: Remove unused variablesJean-Luc Herren2007-10-15
| | | | | | | | | | | | Signed-off-by: Jean-Luc Herren <jlh@gmx.ch> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git add -i: Fix parsing of abbreviated hunk headersJean-Luc Herren2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unified diff format allows one-line ranges to be abbreviated by omiting the size. The hunk header "@@ -10,1 +10,1 @@" can be expressed as "@@ -10 +10 @@", but this wasn't properly parsed in all cases. Such abbreviated hunk headers are generated when a one-line change (add, remove or modify) appears without context; for example because the file is a one-liner itself or because GIT_DIFF_OPTS was set to '-u0'. If the user then runs 'git add -i' and enters the 'patch' command for that file, perl complains about undefined variables. Signed-off-by: Jean-Luc Herren <jlh@gmx.ch> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | git-config: don't silently ignore options after --listFrank Lichtenheld2007-10-15
| | | | | | | | | | | | | | | | | | Error out if someone gives options after --list since that is not a valid syntax. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Clean up "git log" format with DIFF_FORMAT_NO_OUTPUTLinus Torvalds2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an unnecessary empty line that we add to the log message when we generate diffs, but don't actually end up printing any due to having DIFF_FORMAT_NO_OUTPUT set. This can happen with pickaxe or with rename following. The reason is that we normally add an empty line between the commit and the diff, but we do that even for the case where we've then suppressed the actual printing of the diff. This also updates a couple of tests that assumed the extraneous empty line would exist at the end of output. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Fix embarrassing "git log --follow" bugLinus Torvalds2007-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that I completely broke "git log --follow" with my recent patch to revision.c ("Fix revision log diff setup, avoid unnecessary diff generation", commit b7bb760d5ed4881422673d32f869d140221d3564). Why? Because --follow obviously requires the diff machinery to function, exactly the same way pickaxe does. So everybody is away right now, but considering that nobody even noticed this bug, I don't think it matters. But for the record, here's the trivial one-liner fix (well, two, since I also fixed the comment). Because of the nature of the bug, if you ask for patches when following (which is one of the things I normally do), the bug is hidden, because then the request for diff output will automatically also enable the diffs themselves. So while "git log --follow <filename>" didn't work, adding a "-p" magically made it work again even without this fix. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | GIT 1.5.3.4v1.5.3.4Junio C Hamano2007-10-03
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Add test case for ls-files --with-treeCarl Worth2007-10-03
| | | | | | | | | | | | | | | | | | This tests basic functionality and also exercises a bug noticed by Keith Packard, (prune_cache followed by add_index_entry can trigger an attempt to realloc a pointer into the middle of an allocated buffer). Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Must not modify the_index.cache as it may be passed to realloc at some point.Keith Packard2007-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The index cache is not static, growing as new entries are added. If entries are added after prune_cache is called, cache will no longer point at the base of the allocation, and realloc will not be happy. I verified that this was the only place in the current source which modified any index_state.cache elements aside from the alloc/realloc calls in read-cache by changing the type of the element to 'struct cache_entry ** const cache' and recompiling. A more efficient patch would create a separate 'cache_base' value to track the allocation and then fix things up when reallocation was necessary, instead of the brute-force memmove used here. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | the ar tool is called gar on some systemsRobert Schiele2007-10-02
| | | | | | | | | | | | | | | | Some systems that have only installed the GNU toolchain (prefixed with "g") do not provide "ar" but only "gar". Make configure find this tool as well. Signed-off-by: Robert Schiele <rschiele@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>