a2d6b87 | Robert Schiele | 17 October 2007, 22:27:51 UTC | fixing output of non-fast-forward output of post-receive-email 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> | 18 October 2007, 04:59:25 UTC |
0995520 | Shawn O. Pearce | 17 October 2007, 03:31:58 UTC | Document additional 1.5.3.5 fixes in release notes Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 17 October 2007, 03:31:58 UTC |
f5f3069 | Shawn O. Pearce | 17 October 2007, 01:33:11 UTC | Avoid 'expr index' on Mac OS X as it isn't supported 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> | 17 October 2007, 02:48:03 UTC |
46eb449 | Johannes Schindelin | 17 October 2007, 02:23:10 UTC | filter-branch: update current branch when rewritten 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> | 17 October 2007, 02:47:51 UTC |
8ef4451 | Johannes Schindelin | 17 October 2007, 02:22:25 UTC | fix filter-branch documentation 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> | 17 October 2007, 02:47:51 UTC |
7e23b06 | Andrew Clausen | 16 October 2007, 21:16:05 UTC | helpful error message when send-pack finds no refs in common. Signed-off-by: Andrew Clausen <clausen@econ.upenn.edu> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 17 October 2007, 02:01:15 UTC |
dd5c8af | Johannes Schindelin | 16 October 2007, 23:37:36 UTC | Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE 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> | 17 October 2007, 00:18:04 UTC |
33c8d38 | Shawn O. Pearce | 17 October 2007, 00:09:21 UTC | Correct typos in release notes for 1.5.3.5 Noticed by Michele Ballabio. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 17 October 2007, 00:09:21 UTC |
8492f00 | Shawn O. Pearce | 16 October 2007, 02:29:50 UTC | Whip post 1.5.3.4 maintenance series into shape. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 16 October 2007, 02:29:50 UTC |
f3d5e46 | Johannes Schindelin | 09 October 2007, 12:59:43 UTC | rebase -i: use diff plumbing instead of porcelain 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> | 16 October 2007, 01:16:08 UTC |
922aa80 | Mathias Megyei | 04 October 2007, 21:49:19 UTC | Do not remove distributed configure script 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> | 16 October 2007, 01:12:06 UTC |
c005c6a | Michele Ballabio | 04 October 2007, 22:41:11 UTC | git-archive: document --exec 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> | 16 October 2007, 01:10:54 UTC |
a5d4101 | Michele Ballabio | 04 October 2007, 12:26:54 UTC | git-reflog: document --verbose 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> | 16 October 2007, 01:10:54 UTC |
1ae14a6 | Gerrit Pape | 12 October 2007, 11:32:51 UTC | git-config: handle --file option with relative pathname properly 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> | 16 October 2007, 01:07:38 UTC |
60fcc2e | Johannes Schindelin | 10 October 2007, 22:14:35 UTC | clear_commit_marks(): avoid deep recursion 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> | 16 October 2007, 01:05:22 UTC |
7b40a45 | Jean-Luc Herren | 09 October 2007, 19:34:17 UTC | git add -i: Remove unused 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> | 16 October 2007, 01:00:40 UTC |
7288ed8 | Jean-Luc Herren | 09 October 2007, 19:29:26 UTC | git add -i: Fix parsing of abbreviated hunk headers 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> | 16 October 2007, 01:00:40 UTC |
a72c874 | Frank Lichtenheld | 05 October 2007, 20:16:44 UTC | git-config: don't silently ignore options after --list 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> | 16 October 2007, 00:54:42 UTC |
304b5af | Linus Torvalds | 09 October 2007, 16:35:22 UTC | Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT 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> | 16 October 2007, 00:24:27 UTC |
99516e3 | Linus Torvalds | 08 October 2007, 20:42:41 UTC | Fix embarrassing "git log --follow" bug 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> | 16 October 2007, 00:15:58 UTC |
96f1195 | Steffen Prohaska | 06 October 2007, 13:27:22 UTC | git-gui: accept versions containing text annotations, like 1.5.3.mingw.1 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> | 08 October 2007, 00:15:27 UTC |
4c75136 | Junio C Hamano | 03 October 2007, 09:33:11 UTC | GIT 1.5.3.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 09:33:48 UTC |
54e1abc | Carl Worth | 03 October 2007, 07:03:53 UTC | Add test case for ls-files --with-tree 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> | 03 October 2007, 07:53:24 UTC |
95af39f | Keith Packard | 03 October 2007, 05:44:15 UTC | Must not modify the_index.cache as it may be passed to realloc at some point. 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> | 03 October 2007, 06:18:58 UTC |
906ab7f | Shawn O. Pearce | 02 October 2007, 16:27:32 UTC | git-gui: Don't crash when starting gitk from a browser session 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> | 03 October 2007, 04:16:04 UTC |
501e4c6 | Shawn O. Pearce | 02 October 2007, 16:24:44 UTC | git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk 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> | 03 October 2007, 04:14:18 UTC |
96e24ab | Robert Schiele | 03 October 2007, 01:49:34 UTC | the ar tool is called gar on some systems 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> | 03 October 2007, 04:10:25 UTC |
8ae92e6 | Junio C Hamano | 03 October 2007, 04:01:03 UTC | rename diff_free_filespec_data_large() to diff_free_filespec_blob() Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 04:02:09 UTC |
eede7b7 | Jeff King | 25 September 2007, 19:29:42 UTC | diffcore-rename: cache file deltas We find rename candidates by computing a fingerprint hash of each file, and then comparing those fingerprints. There are inherently O(n^2) comparisons, so it pays in CPU time to hoist the (rather expensive) computation of the fingerprint out of that loop (or to cache it once we have computed it once). Previously, we didn't keep the filespec information around because then we had the potential to consume a great deal of memory. However, instead of keeping all of the filespec data, we can instead just keep the fingerprint. This patch implements and uses diff_free_filespec_data_large to accomplish that goal. We also have to change estimate_similarity not to needlessly repopulate the filespec data when we already have the hash. Practical tests showed 4.5x speedup for a 10% memory usage increase. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 04:02:03 UTC |
2ff5e18 | Johan Herland | 02 October 2007, 23:42:29 UTC | Mention 'cpio' dependency in INSTALL Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 00:35:29 UTC |
8fc293c | Federico Mena Quintero | 02 October 2007, 23:36:30 UTC | Make git-pull complain and give advice when there is nothing to merge with Signed-off-by: Federico Mena Quintero <federico@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 00:27:48 UTC |
4674920 | Federico Mena Quintero | 02 October 2007, 23:34:32 UTC | Note that git-branch will not automatically checkout the new branch Signed-off-by: Federico Mena Quintero <federico@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 00:27:00 UTC |
84d176c | Federico Mena Quintero | 02 October 2007, 23:33:30 UTC | Add documentation for --track and --no-track to the git-branch docs. Signed-off-by: Federico Mena Quintero <federico@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 00:26:52 UTC |
ac15074 | Federico Mena Quintero | 02 October 2007, 23:32:32 UTC | Say when --track is useful in the git-checkout docs. The documentation used to say what the option does, but it didn't mention a use case. Signed-off-by: Federico Mena Quintero <federico@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 October 2007, 00:26:40 UTC |
6ea9c7e | Johannes Schindelin | 02 October 2007, 20:14:30 UTC | Fix typo in config.txt There was an 'l' (ell) instead of a '1' (one) in one of the gitlinks. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 October 2007, 22:26:57 UTC |
9e1a2ac | Junio C Hamano | 02 October 2007, 22:09:41 UTC | for-each-ref: fix %(numparent) and %(parent) The string value of %(numparent) was not returned correctly. Also %(parent) misbehaved for the root commits (returned garbage) and merge commits (returned first parent, followed by a space). Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 October 2007, 22:12:05 UTC |
c8f2032 | Junio C Hamano | 02 October 2007, 18:47:58 UTC | git-commit: initialize TMP_INDEX just to be sure. We rely on TMP_INDEX variable to decide if we are doing a partial commit, as it is only set in the partial commit codepath. But the variable is never initialized. A stray environment variable from outside could ruin the day. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 October 2007, 18:48:06 UTC |
63a1f81 | Steffen Prohaska | 02 October 2007, 06:14:37 UTC | fixed link in documentation of diff-options Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 October 2007, 06:27:20 UTC |
5946d4b | Junio C Hamano | 01 October 2007, 09:07:47 UTC | Whip post 1.5.3.3 maintenance series into shape. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 October 2007, 09:07:47 UTC |
0bdcac5 | Miklos Vajna | 30 September 2007, 22:30:27 UTC | git stash: document apply's --index switch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 October 2007, 08:59:29 UTC |
e6dc8d6 | Andy Parkins | 28 September 2007, 14:24:26 UTC | post-receive-hook: Remove the From field from the generated email header so that the pusher's name is used Using the name of the committer of the revision at the tip of the updated ref is not sensible. That information is available in the email itself should it be wanted, and by supplying a "From", we were effectively hiding the person who performed the push - which is useful information in itself. Signed-off-by: Andy Parkins <andyparkins@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 October 2007, 08:59:22 UTC |
f4bb20c | Jari Aalto | 30 September 2007, 06:29:43 UTC | git-remote: exit with non-zero status after detecting errors. Some subcommands of "git-remote" detected and issued error messages but did not signal that to the calling process with exit status. Signed-off-by: Jari Aalto <jari.aalto@cante.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 September 2007, 06:32:31 UTC |
81ab1cb | Johannes Schindelin | 29 September 2007, 23:34:23 UTC | rebase -i: squash should retain the authorship of the _first_ commit It was determined on the mailing list, that it makes more sense for a "squash" to keep the author of the first commit as the author for the result of the squash. Make it so. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 September 2007, 06:16:08 UTC |
6a6eb3d | Jean-Luc Herren | 26 September 2007, 14:05:01 UTC | git-add--interactive: Improve behavior on bogus input 1) Previously, any menu would cause a perl error when entered '0', which is never a valid option. 2) Entering a bogus choice (like 998 or 4-2) surprisingly caused the same behavior as if the user had just hit 'enter', which means to carry out the selected action on the selected items. Entering such bogus input is now a no-op and the sub-menu doesn't exit. Signed-off-by: Jean-Luc Herren <jlh@gmx.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 September 2007, 06:14:17 UTC |
c95c024 | Jean-Luc Herren | 26 September 2007, 13:56:19 UTC | git-add--interactive: Allow Ctrl-D to exit Hitting Ctrl-D (EOF) is a common way to exit shell-like tools. When in a sub-menu it will still behave as if an empty line had been entered, carrying out the action on the selected items and returning to the previous menu. Signed-off-by: Jean-Luc Herren <jlh@gmx.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 September 2007, 06:14:16 UTC |
552ce11 | Junio C Hamano | 29 September 2007, 23:07:46 UTC | GIT 1.5.3.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 September 2007, 23:07:46 UTC |
b7bb760 | Linus Torvalds | 29 September 2007, 16:50:39 UTC | Fix revision log diff setup, avoid unnecessary diff generation We used to incorrectly start calculating diffs whenever any argument but '-z' was recognized by the diff options parsing. That was bogus, since not all arguments result in diffs being needed, so we just waste a lot of time and effort on calculating diffs that don't matter. This actually also fixes another bug in "git log". Try this: git log -C and notice how it prints an extra empty line in between log entries, even though it never prints the actual diff (because we didn't ask for any diff format, so the diff machinery never prints anything). With this patch, that bogus empty line is gone, because "revs->diff" is never set. So this isn't just a "wasted time and effort" issue, it's also a slight semantic fix. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 September 2007, 22:42:32 UTC |
ee8245b | Miklos Vajna | 26 September 2007, 23:34:59 UTC | git-bundle: fix commandline examples in the manpage Multiple commands were displayed in one line, making the manpage hard to read. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 September 2007, 22:40:17 UTC |
d3759c0 | Junio C Hamano | 29 September 2007, 22:39:39 UTC | Merge branch 'mergetool' of git://repo.or.cz/git/mergetool into maint * 'mergetool' of git://repo.or.cz/git/mergetool: mergetool: Fix typo in options passed to kdiff3 mergetool: fix emerge when running in a subdirectory Mergetool generating blank files (1.5.3) | 29 September 2007, 22:39:39 UTC |
208fe3a | Theodore Ts'o | 29 September 2007, 02:26:05 UTC | mergetool: Fix typo in options passed to kdiff3 Fix missing double hyphens in "-L1" and "-L2" Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> | 29 September 2007, 02:26:05 UTC |
f6e0e55 | Theodore Ts'o | 29 September 2007, 01:23:22 UTC | mergetool: fix emerge when running in a subdirectory Only pass the basename of the output filename when to emerge, since emerge interprets non-absolute pathnames relative to the containing directory of the output buffer. Thanks to Kelvie Wong for pointing this out. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> | 29 September 2007, 01:23:22 UTC |
769f398 | Junio C Hamano | 27 September 2007, 21:41:23 UTC | Mergetool generating blank files (1.5.3) When mergetool is run from a subdirectory, "ls-files -u" nicely limits the output to conflicted files in that directory, but we need to give the full path to cat-file plumbing to grab the contents of stages. Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> | 29 September 2007, 00:13:14 UTC |
9f569fe | Dan Nicholson | 27 September 2007, 20:30:59 UTC | quiltimport: Skip non-existent patches When quiltimport encounters a non-existent patch in the series file, just skip to the next patch. This matches the behavior of quilt. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 September 2007, 23:19:19 UTC |
26b2800 | Johannes Schindelin | 17 September 2007, 22:34:06 UTC | apply: get rid of --index-info in favor of --build-fake-ancestor git-am used "git apply -z --index-info" to find the original versions of the files touched by the diff, to be able to do an inexpensive three-way merge. This operation makes only sense in a repository, since the index information in the diff refers to blobs, which have to be present in the current repository. Therefore, teach "git apply" a mode to write out the result as an index file to begin with, obviating the need for scripts to do it themselves. The sole user for --index-info is "git am" is converted to use --build-fake-ancestor in this patch. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 20:42:10 UTC |
102c233 | Carlos Rica | 11 September 2007, 03:17:28 UTC | Move make_cache_entry() from merge-recursive.c into read-cache.c The function make_cache_entry() is too useful to be hidden away in merge-recursive. So move it to libgit.a (exposing it via cache.h). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 20:42:10 UTC |
bce9240 | Randy Dunlap | 26 September 2007, 05:02:28 UTC | core-tutorial: correct URL The tinyurl is incorrect -- it attempts to go to groups.osdl.org, which is gone. Either use the full URL (in patch) or create a new tinyurl for this URL. Is the web page (where I first saw this problem) generated from this txt file? http://www.kernel.org/pub/software/scm/git/docs/core-tutorial.html If not, it needs to be updated also. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 06:39:01 UTC |
b067439 | Shawn Bohrer | 26 September 2007, 04:12:46 UTC | Fix spelling of overridden in documentation Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 06:38:42 UTC |
4d84aff | Johannes Sixt | 25 September 2007, 13:05:29 UTC | gitattributes.txt: Be more to the point in the filter driver description. The description was meant to emphasizes that the project should remain usable even if the filter driver was not used. This makes it more explicit and removes the "here is rope to hang yourself" paraphrase. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 00:37:35 UTC |
2dbbc45 | Johannes Sixt | 25 September 2007, 13:05:28 UTC | gitattributes.txt: Remove a duplicated paragraph about 'ident' and 'crlf' interaction. The order in which 'ident' and 'crlf' are carried out is documented a few paragraphs later again, after 'filter' was introduced. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 00:37:31 UTC |
6dd1436 | Michael Smith | 25 September 2007, 12:44:38 UTC | user-manual: Explain what submodules are good for. Rework the introduction to the Submodules section to explain why someone would use them, and fix up submodule references from the tree-object and todo sections. Signed-off-by: Michael Smith <msmith@cbnco.com> Acked-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 September 2007, 00:30:12 UTC |
d3f3ab2 | Junio C Hamano | 25 September 2007, 22:17:22 UTC | Merge branch 'jn/web' into maint * jn/web: gitweb: No difftree output for trivial merge gitweb: Remove parse_from_to_diffinfo code from git_patchset_body | 25 September 2007, 22:17:22 UTC |
d1637a0 | Jim Meyering | 25 September 2007, 06:48:59 UTC | Do not over-quote the -f envelopesender value. Without this, the value passed to sendmail would have an extra set of single quotes. At least exim's sendmail emulation would object to that: exim: bad -f address "'list-addr@example.org'": malformed address: ' \ may not follow 'list-addr@example.org error: hooks/post-receive exited with error code 1 Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 September 2007, 07:30:19 UTC |
e883932 | Jim Meyering | 25 September 2007, 06:42:16 UTC | unexpected Make output (e.g. from --debug) causes build failure Without this, the extra output produced e.g., by "make --debug" would go into $INSTLIBDIR and then cause the sed command to fail. Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 September 2007, 07:30:16 UTC |
85d81a7 | Glenn Rempe | 24 September 2007, 20:33:38 UTC | Fixed minor typo in t/t9001-send-email.sh test command line. The git-send-email command line in the test was missing a single hyphen. Signed-off-by: Glenn Rempe <glenn@rempe.us> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 September 2007, 06:01:42 UTC |
3ef408a | Jakub Narebski | 08 September 2007, 19:54:28 UTC | gitweb: No difftree output for trivial merge In 'commitdiff' view, for the merge commit, there is an extra header for the difftree table, with links to commitdiffs to individual parents. Do not show such header when there is nothing to show, for trivial merges. This means that for trivial merge you have to go to 'commit' view to get links to diffs to each parent. Signed-off-by: Jakub Narebski <jnareb@gmail.com> | 24 September 2007, 06:12:22 UTC |
711fa74 | Jakub Narebski | 08 September 2007, 19:49:11 UTC | gitweb: Remove parse_from_to_diffinfo code from git_patchset_body In commit 90921740bd00029708370673fdc537522aa48e6f "gitweb: Split git_patchset_body into separate subroutines" a part of git_patchset_body code was separated into parse_from_to_diffinfo subroutine. But instead of replacing the separated code by the call to mentioned subroutine, the call to subroutine was placed before the separated code. This patch removes parse_from_to_diffinfo code from git_patchset_body subroutine. Signed-off-by: Jakub Narebski <jnareb@gmail.com> | 24 September 2007, 06:04:16 UTC |
15eda02 | Junio C Hamano | 24 September 2007, 00:08:45 UTC | Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint * 'maint' of git://linux-nfs.org/~bfields/git: User Manual: add a chapter for submodules user-manual: don't assume refs are stored under .git/refs | 24 September 2007, 00:08:45 UTC |
b019304 | Eric Wong | 22 September 2007, 01:48:45 UTC | git-svn: don't attempt to spawn pager if we don't want one Even though config_pager() unset the $pager variable, we were blindly calling exec() on it through run_pager(). Noticed-by: Chris Moore <christopher.ian.moore@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 September 2007, 00:07:10 UTC |
822f7c7 | David Kastrup | 23 September 2007, 20:42:08 UTC | Supplant the "while case ... break ;; esac" idiom A lot of shell scripts contained stuff starting with while case "$#" in 0) break ;; esac and similar. I consider breaking out of the condition instead of the body od the loop ugly, and the implied "true" value of the non-matching case is not really obvious to humans at first glance. It happens not to be obvious to some BSD shells, either, but that's because they are not POSIX-compliant. In most cases, this has been replaced by a straight condition using "test". "case" has the advantage of being faster than "test" on vintage shells where "test" is not a builtin. Since none of them is likely to run the git scripts, anyway, the added readability should be worth the change. A few loops have had their termination condition expressed differently. Signed-off-by: David Kastrup <dak@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 September 2007, 23:12:00 UTC |
38a457b | Miklos Vajna | 20 September 2007, 00:34:14 UTC | User Manual: add a chapter for submodules Signed-off-by: Michael Smith <msmith@cbnco.com> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> | 23 September 2007, 16:59:14 UTC |
fc74ecc | J. Bruce Fields | 10 September 2007, 02:07:02 UTC | user-manual: don't assume refs are stored under .git/refs The scripts taken from Tony Luck's howto assume all refs can be found under .git/refs, but this is not necessarily true, especially since git-gc runs git-pack-refs. Also add a note warning of this in the chapter that introduces refs, and fix the same incorrect assumption in one other spot. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> | 23 September 2007, 16:57:54 UTC |
b9fc6ea | David Brown | 19 September 2007, 20:12:48 UTC | Detect exec bit in more cases. git-p4 was missing the execute bit setting if the file had other attribute bits set. Acked-By: Simon Hausmann <simon@lst.de> | 22 September 2007, 22:41:50 UTC |
2fe167b | Shawn O. Pearce | 21 September 2007, 15:44:23 UTC | git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs 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> | 22 September 2007, 01:58:38 UTC |
299077f | Shawn O. Pearce | 21 September 2007, 15:08:50 UTC | git-gui: Handle starting on mapped shares under Cygwin 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> | 22 September 2007, 01:58:37 UTC |
183a1d1 | Shawn O. Pearce | 21 September 2007, 14:58:02 UTC | git-gui: Display message box when we cannot find git in $PATH 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> | 22 September 2007, 01:58:37 UTC |
9c2d28c | Matt Kraai | 21 September 2007, 14:37:18 UTC | Conjugate "search" correctly in the git-prune-packed man page. Signed-off-by: Matt Kraai <kraai@ftbfs.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 September 2007, 19:54:24 UTC |
1e6ab5d | Matt Kraai | 21 September 2007, 13:43:44 UTC | Move the paragraph specifying where the .idx and .pack files should be Signed-off-by: Matt Kraai <kraai@ftbfs.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 September 2007, 19:54:11 UTC |
8fceace | Junio C Hamano | 21 September 2007, 19:52:30 UTC | Documentation/git-lost-found.txt: drop unnecessarily duplicated name. I only did this back when I wanted to make sure git-log and gitk work properly with non Occidental characters. There is really no reason to keep it around. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 September 2007, 19:53:08 UTC |
ae0754a | Simon Sasburg | 18 September 2007, 22:33:34 UTC | git-gui: Avoid using bold text in entire gui for some fonts Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 20 September 2007, 16:59:45 UTC |
806ea70 | Junio C Hamano | 19 September 2007, 10:11:28 UTC | GIT 1.5.3.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 September 2007, 10:11:28 UTC |
8ae6749 | Väinö Järvelä | 18 September 2007, 12:26:09 UTC | Fixed update-hook example allow-users format. The example provided with the update-hook-example does not work on either bash 2.05b.0(1)-release nor 3.1.17(1)-release. The matcher did not match the lines that it advertised to match, such as: refs/heads/bw/ linus refs/heads/tmp/* * In POSIX 1003.2 regular expressions, the star (*), is not an wildcard meaning "match everything", it matches 0 or more matches of the atom preceding it. So to match "refs/heads/bw/topic-branch", the matcher should be written as "refs/heads/bw/.*" to match "refs/heads/bw/" and everything after it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 September 2007, 00:38:52 UTC |
bd43098 | Eric Wong | 18 September 2007, 23:50:42 UTC | Documentation/git-svn: updated design philosophy notes This section has not been updated in a while and --branches/--tags/--trunk options are commonly used nowadays. Noticed-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 September 2007, 00:07:45 UTC |
cd894ee | Junio C Hamano | 18 September 2007, 22:19:47 UTC | t/t4014: test "am -3" with mode-only change. Earlier commit ece7b74903007cee8d280573647243d46a6f3a95 added a test for rebase that uses "am -3", but this adds a test to check "am -3" itself. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 22:19:47 UTC |
3d845d7 | Pierre Habouzit | 18 September 2007, 10:12:58 UTC | Fix lapsus in builtin-apply.c Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 21:09:12 UTC |
5c633a4 | Jeff King | 18 September 2007, 08:15:34 UTC | git-push: documentation and tests for pushing only branches Commit 098e711e caused git-push to match only branches when considering which refs to push. This patch updates the documentation accordingly and adds a test for this behavior. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 21:00:20 UTC |
bf1ee63 | Matthias Urlichs | 18 September 2007, 09:29:09 UTC | git-svnimport: Use separate arguments in the pipe for git-rev-parse Some people seem to create SVN branch names with spaces or other shell metacharacters. Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 21:00:20 UTC |
7a461b5 | Junio C Hamano | 14 September 2007, 23:59:04 UTC | Document ls-files --with-tree=<tree-ish> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 06:57:35 UTC |
cba8d48 | Junio C Hamano | 14 September 2007, 23:53:58 UTC | git-commit: partial commit of paths only removed from the index Because a partial commit is meant to be a way to ignore what are staged in the index, "git rm --cached A && git commit A" should just record what is in A on the filesystem. The previous patch made the command sequence to barf, saying that A has not been added yet. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 06:57:35 UTC |
64586e7 | Junio C Hamano | 12 September 2007, 23:04:22 UTC | git-commit: Allow partial commit of file removal. When making a partial commit, git-commit uses git-ls-files with the --error-unmatch option to expand and sanity check the user supplied path patterns. When any path pattern does not match with the paths known to the index, it errors out, in order to catch a common mistake to say "git commit Makefiel cache.h" and end up with a commit that touches only cache.h (notice the misspelled "Makefile"). This detection however does not work well when the path has already been removed from the index. If you drop a path from the index and try to commit that partially, i.e. $ git rm COPYING $ git commit -m 'Remove COPYING' COPYING the command complains because git does not know anything about COPYING anymore. This introduces a new option --with-tree to git-ls-files and uses it in git-commit when we build a temporary index to write a tree object for the partial commit. When --with-tree=<tree-ish> option is specified, names from the given tree are added to the set of names the index knows about, so we can treat COPYING file in the example as known. Of course, there is no reason to use "git rm" and git-aware people have long time done: $ rm COPYING $ git commit -m 'Remove COPYING' COPYING which works just fine. But this caused a constant confusion. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 06:57:35 UTC |
a017f27 | Junio C Hamano | 18 September 2007, 06:56:40 UTC | Merge branch 'jc/grep-c' into maint * jc/grep-c: Split grep arguments in a way that does not requires to add /dev/null. | 18 September 2007, 06:56:40 UTC |
9269df9 | Junio C Hamano | 18 September 2007, 06:50:17 UTC | Merge branch 'maint' of git://repo.or.cz/git-gui into maint * 'maint' of git://repo.or.cz/git-gui: git-gui: Disable native platform text selection in "lists" git-gui: Paper bag fix "Commit->Revert" format arguments git-gui: Provide 'uninstall' Makefile target to undo an installation git-gui: Font chooser to handle a large number of font families git-gui: Make backporting changes from i18n version easier git-gui: Don't delete send on Windows as it doesn't exist git-gui: Trim trailing slashes from untracked submodule names git-gui: Assume untracked directories are Git submodules git-gui: handle "deleted symlink" diff marker git-gui: show unstaged symlinks in diff viewer git-gui: Avoid use of libdir in Makefile git-gui: Disable Tk send in all git-gui sessions git-gui: lib/index.tcl: handle files with % in the filename properly git-gui: Properly set the state of "Stage/Unstage Hunk" action git-gui: Fix detaching current branch during checkout git-gui: Correct starting of git-remote to handle -w option | 18 September 2007, 06:50:17 UTC |
be510cf | Junio C Hamano | 18 September 2007, 04:18:20 UTC | send-email: make message-id generation a bit more robust Earlier code took Unix time and appended a few random digits. If you are firing off many messages within a second, you could issue the same id to different messages, which is a no-no. If you send out 31 messages within a single second, with random integer taken out of rand(4200), you have about 10% chance of producing the same message ID. This fixes the problem by uses a prefix string which is constant-per-invocation (time and pid), with a serial number for each message generated by the process appended at the end. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 September 2007, 05:02:19 UTC |
d7416ec | J. Bruce Fields | 16 September 2007, 22:49:00 UTC | git-apply: fix whitespace stripping The algorithm isn't right here: it accumulates any set of 8 spaces into tabs even if they're separated by tabs, so <four spaces><tab><four spaces><tab> is converted to <tab><tab><tab> when it should be just <tab><tab> So teach git-apply that a tab hides any group of less than 8 previous spaces in a row. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 September 2007, 09:18:44 UTC |
3849bfb | Shawn O. Pearce | 17 September 2007, 03:12:19 UTC | git-gui: Disable native platform text selection in "lists" Sometimes we use a Tk text widget as though it were a listbox. This happens typically when we want to show an icon to the left of the text label or just when a text widget is generally a better choice then the native listbox widget. In these cases if we want the user to have control over the selection we implement our own "in_sel" tag that shows the selected region and we perform our own selection management in the background via keybindings and mouse bindings. In such uses we don't want the user to be able to activate the native platform selection by dragging their mouse through the text widget. Doing so creates a very confusing display and the user is left wondering what it may mean to have two different types of selection in the same widget. Tk doesn't allow us to delete the "sel" tag that it uses internally to manage the native selection but it will allow us to make it invisible by setting the tag to have the same display properties as unselected text. So long as we don't actually use the "sel" tag for anything in code its effectively invisible. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> | 17 September 2007, 03:12:19 UTC |
ece7b74 | Johannes Schindelin | 17 September 2007, 00:24:57 UTC | apply --index-info: fall back to current index for mode changes "git diff" does not record index lines for pure mode changes (i.e. no lines changed). Therefore, apply --index-info would call out a bogus error. Instead, fall back to reading the info from the current index. Incidentally, this fixes an error where git-rebase would not rebase a commit including a pure mode change, and changes requiring a threeway merge. Noticed and later tested by Chris Shoemaker. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 September 2007, 01:20:10 UTC |
f3caeb9 | Junio C Hamano | 16 September 2007, 06:18:05 UTC | Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint * 'maint' of git://linux-nfs.org/~bfields/git: core-tutorial: minor cleanup documentation: replace Discussion section by link to user-manual chapter user-manual: todo updates and cleanup user-manual: fix introduction to packfiles user-manual: move packfile and dangling object discussion user-manual: rewrite object database discussion user-manual: reorder commit, blob, tree discussion user-manual: rewrite index discussion user-manual: create new "low-level git operations" chapter user-manual: rename "git internals" to "git concepts" user-manual: move object format details to hacking-git chapter user-manual: adjust section levels in "git internals" | 16 September 2007, 06:18:05 UTC |
a85feca | J. Bruce Fields | 03 September 2007, 14:34:27 UTC | core-tutorial: minor cleanup Revise the introduction for concision, add pointers to the tutorial and user manual as appropriate, delete cvsimport note from the end, as that work's been done elsewhere already. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> | 16 September 2007, 02:17:24 UTC |
40dac51 | J. Bruce Fields | 03 September 2007, 04:01:19 UTC | documentation: replace Discussion section by link to user-manual chapter The "Discussion" section has a lot of useful information, but is a little wordy, especially for an already-long man page, and is designed for an audience more of potential git hackers than users, which probably doesn't make as much sense as git matures. Also, I (perhaps foolishly) forked a version in the user manual, which has been significantly rewritten in an attempt to address some of the above problems. So, remove this section and replace it by a (very terse) summary of the original material--my attempt at the World's Shortest Git Overview--and a reference to the appropriate chapter of the user manual. It's unfortunate to remove something that's been in this place for a long time, as some people may still depend on finding it there. But I think we'll want to do this some day anyway. Cc: Andreas Ericsson <ae@op5.se> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> | 16 September 2007, 02:17:24 UTC |
ecd95b5 | J. Bruce Fields | 03 September 2007, 03:28:49 UTC | user-manual: todo updates and cleanup Format a couple lists. Reminder that we may want to add submodule documentation some day. | 16 September 2007, 02:17:23 UTC |
9644ffd | J. Bruce Fields | 09 September 2007, 02:27:18 UTC | user-manual: fix introduction to packfiles Actually I don't think we've previously mentioned .git/objects, so we need a different introduction here. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> | 16 September 2007, 02:17:23 UTC |