1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-09 02:33:11 +01:00
Commit graph

29048 commits

Author SHA1 Message Date
Junio C Hamano
57fe64a40d [PATCH] diff overhaul
This cleans up the way calls are made into the diff core from diff-tree
family and diff-helper.  Earlier, these programs had "if
(generating_patch)" sprinkled all over the place, but those ugliness are
gone and handled uniformly from the diff core, even when not generating
patch format.

This also allowed diff-cache and diff-files to acquire -R
(reverse) option to generate diff in reverse.  Users of
diff-tree can swap two trees easily so I did not add -R there.

[ Linus' note: I'll add -R to "diff-tree" too, since a "commit
  diff" doesn't have another tree to switch around: the other
  tree is always the parent(s) of the commit ]

Also -M<digits-as-mantissa> suggestion made by Linus has been
implemented.

Documentation updates are also included.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 22:33:07 -07:00
Linus Torvalds
dc26bd890d diff-tree: add "--root" flag to show a root commit as a big creation event.
"Let there be light"
2005-05-19 13:44:29 -07:00
Alexey Nezhdanov
667bb59b2d [PATCH] cleanup of in-code names
Fixes all in-code names that leaved during "big name change".

Signed-off-by: Alexey Nezhdanov <snake@penza-gsm.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 10:52:00 -07:00
Thomas Glanzmann
9669e17a2f [PATCH] Declare stacked variables before the first statement.
Signed-off-by: Thomas Glanzmann <sithglan@stud.uni-erlangen.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 10:46:49 -07:00
Junio C Hamano
5b486c3b65 [PATCH] Detect renames in diff family.
A bit of clean-up of diff.c which fixes up some comments and removes a
memory leak.

This also re-introduces the rename score debugging fprintf(), but leaves
it #idef'ed it out for normal use.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 10:37:29 -07:00
Sebastian Kuzminsky
7984eabe07 [PATCH] manpage name conflict
This moves the git manpage to man7, since "git" isn't a direct command
per se.  It also does two other things:

    * Sort of works around the asciidoc 6.0.3 bug where the manpages all
      get called "git.1".  It just renames them to what they should have
      been called.

    * Fixes a cut-n-paste bug in git-diff-helper.txt that was making
      asciidoc choke.
2005-05-19 09:58:44 -07:00
Junio C Hamano
415e96c8b7 [PATCH] Implement git-checkout-cache -u to update stat information in the cache.
With -u flag, git-checkout-cache picks up the stat information
from newly created file and updates the cache.  This removes the
need to run git-update-cache --refresh immediately after running
git-checkout-cache.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 09:50:57 -07:00
Linus Torvalds
875d0f8ddb diff.c: remove left-over scoring debug message
It may be wonderful for rating the scoring, but it's
not appropriate for actual use ;)
2005-05-19 09:20:00 -07:00
Linus Torvalds
ce7d9c9c3c git-whatchanged: use 'less -S' on the output to make it more user friendly 2005-05-19 09:07:19 -07:00
Junio C Hamano
5c97558c9a [PATCH] Detect renames in diff family.
This rips out the rename detection engine from diff-helper and moves it
to the diff core, and updates the internal calling convention used by
diff-tree family into the diff core.  In order to give the same option
name to diff-tree family as well as to diff-helper, I've changed the
earlier diff-helper '-r' option to '-M' (stands for Move; sorry but the
natural abbreviation 'r' for 'rename' is already taken for 'recursive').

Although I did a fair amount of test with the git-diff-tree with
existing rename commits in the core GIT repository, this should still be
considered beta (preview) release.  This patch depends on the diff-delta
infrastructure just committed.

This implements almost everything I wanted to see in this series of
patch, except a few minor cleanups in the calling convention into diff
core, but that will be a separate cleanup patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 08:59:40 -07:00
Nicolas Pitre
a310d43494 [PATCH] Deltification library work by Nicolas Pitre.
This patch adds the basic library functions to create and replay delta
information.  Also included is a test-delta utility to validate the
code.

diff-delta was based on LibXDiff written by Davide Libenzi

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 08:56:22 -07:00
Junio C Hamano
21949255d1 [PATCH] A test case addition for strbuf regression
This test would have caught the strbuf eof condition gotcha,
hopefully fixed with my previous patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 07:42:07 -07:00
Junio C Hamano
9dc527adbc [PATCH] fix strbuf take #2
I just remembered why I placed that bogus "sb->len ==0 implies
sb->eof" condition there.  We need at least something like this
to catch the normal EOF (that is, line termination immediately
followed by EOF) case.  "if (feof(fp))" fires when we have
already read the eof, not when we are about read it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 07:31:23 -07:00
Paul Mackerras
39ad85705c Accommodate new git-diff-tree output format
Add 'f' key for moving to next file
2005-05-19 12:35:53 +00:00
Paul Mackerras
5842215ee9 Handle \ No newline at end of line lines in diff
Put (deleted) or (created, mode xxx) in header lines
Fix scrolling to bring lines on screen
2005-05-19 10:56:42 +00:00
Linus Torvalds
9b632be30c merge-base: use the new lookup_commit_reference() helper function
This allows you to use tags for merge bases.
2005-05-18 16:16:51 -07:00
Linus Torvalds
961784ee42 commit: add "lookup_commit_reference()" helper function
It's pretty much the same as "lookup_commit()", but it will take
tags too, and look up the commit (if any) associated with them.
2005-05-18 16:14:22 -07:00
Paul Mackerras
173860663e More fixes for geometry restoration
Make up/down/pgup/pgdn work again
Return in find string entry does find
Scale circles and lines with font size
Fix scrolling to make entire selected line visible
Use white circle for commits not listed but put in to terminate lines
Fix diff parsing for created and deleted files
2005-05-18 22:51:00 +00:00
Nicolas Pitre
fbab835c03 [PATCH] fix show_date() for positive timezones
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 14:23:04 -07:00
Linus Torvalds
850e82d889 diff-tree: don't match non-directories as partial pathnames
This normally doesn't matter, but if you have a filename that is
sometimes a directory and sometimes a regular file (or symlink),
we don't want the regular file case to trigger a "partial match".
2005-05-18 14:17:22 -07:00
Linus Torvalds
ed1a368ba1 diff-tree: fix "whole sub-tree disappeared or appeared" case
We still need to check which part of the sub-tree is interesting.
2005-05-18 14:07:42 -07:00
Linus Torvalds
cb6c8ed2fe diff-tree: fix up comparison of "interesting" sub-trees
We used to trigger the "interesting subdirectory" check for any
matching name that started with the same character series, regardless
of whether it had the matching slash or not.
2005-05-18 13:50:24 -07:00
Linus Torvalds
73848892ad diff-tree: show hex sha1 of the single-commit argument case correctly.
We can't just do the "sha1_to_hex()" thing directly, since the
buffer in question will be overwritten by the name of the parent.

So teach diff_tree_commit() to generate the proper hex name itself.
2005-05-18 13:43:58 -07:00
Linus Torvalds
0a8365a179 diff-tree: fix and extend argument parsing
We use "--" to mark end of command line switches, not "-". Also,
allow more flexibility in the passed-in sha1 names, in that a
single sha1 uses the "commit-diff" logic that compares against
its parent(s).
2005-05-18 13:10:17 -07:00
Linus Torvalds
b11645be01 diff-tree: clean up diff_tree_stdin() function
Split it into the "one commit" vs "two trees" case, since we'll
want to use the "one commit" case for other things too.
2005-05-18 13:06:47 -07:00
Linus Torvalds
e11b29c50c diff-helper: pass unrecognized lines through unmodified
(and flush any pending renames)
2005-05-18 11:33:46 -07:00
Linus Torvalds
ad87de7c9d strbuf: allow zero-length lines
They aren't EOF.
2005-05-18 11:33:06 -07:00
Junio C Hamano
915838c3cb [PATCH] Diff-helper update
This patch adds a framework and a stub implementation of rename
detection to diff-helper program.

The current stub code is just enough to detect pure renames in
diff-tree output and not fancier.  The plan is perhaps to use
the same delta code when Nico's delta storage patch is merged
for similarity evaluation purposes.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 11:16:24 -07:00
Linus Torvalds
e7bd907db6 fsck-cache: read the default reference information even when
not doing reachability analysis.

This avoids the dangling head problem, and means that just a
plain "git-fsck-cache" with no parameters will DTRT.
2005-05-18 10:19:59 -07:00
Linus Torvalds
1024932f01 fsck-cache: walk the 'refs' directory if the user doesn't give any
explicit references for reachability analysis.

We already had that as separate logic in git-prune-script, so this
is not a new special case - it's an old special case moved into
fsck, making normal usage be much simpler.
2005-05-18 10:16:14 -07:00
Junio C Hamano
b58f23b38a [PATCH] Fix diff output take #4.
This implements the output format suggested by Linus in
<Pine.LNX.4.58.0505161556260.18337@ppc970.osdl.org>, except the
imaginary diff option is spelled "diff --git" with double dashes as
suggested by Matthias Urlichs.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 09:39:40 -07:00
Brian Gerst
bf0f910d1d [PATCH] Kill a bunch of pointer sign warnings for gcc4
- Raw hashes should be unsigned char.
 - String functions want signed char.
 - Hash and compress functions want unsigned char.

Signed-off By: Brian Gerst <bgerst@didntduck.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 08:44:23 -07:00
Linus Torvalds
6a9853cd45 Make "applypatch" use the "-E" flag to patch.
Always remove empty files, regardless of how the diff
showed them to have become empty.
2005-05-17 17:15:56 -07:00
Paul Mackerras
df3d83b143 Error popups on error conditions rather than stderr msgs
Stop . bindings firing on find string entry keypresses
Fix geometry saving/restoring a bit
Show the terminal commits
Highlight comment matches in the comment window
2005-05-17 23:23:07 +00:00
Linus Torvalds
02481aec2a Add silly "git-whatchanged" script.
It's a one-liner, but it's useful as documentation if nothing else.
2005-05-17 11:47:13 -07:00
Linus Torvalds
c9049d41b8 Update applypatch to use new GIT_-prefix environment variables.
Avoid the warnings from newer git versions.
2005-05-17 09:35:01 -07:00
Paul Mackerras
0fba86b3a9 save window geometry on exit, and restore it on startup 2005-05-16 23:54:58 +00:00
Paul Mackerras
43bddeb43d Resize the panes in the paned windows (commit list and details)
to keep the proportionality of the pane widths as the overall
window is resized.
2005-05-15 23:19:18 +00:00
Junio C Hamano
14cd1ff396 [PATCH 4/4] Trivial test harness fixes.
The documentation of the test harness still refer to old
numbering and also contains an obvious typo.

Also "make test" should be run after making sure we have built
all binaries, since test is designed to test the newly built
ones.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-16 00:22:10 +02:00
Paul Mackerras
e47120cb93 Fix stder -> stderr 2005-05-15 21:49:26 +00:00
Paul Mackerras
276819b35b Bumped version number 2005-05-15 12:57:02 +00:00
Paul Mackerras
1d10f36d7f Made commit list reading asynchronous
Added control+/- to increase/decrease font sizes
Rearranged code a little.
2005-05-15 12:55:47 +00:00
Petr Baudis
7ab6f3d437 Remove obsolete note about native CPU byte format
Comment in entry.h said that the cache contents is in the native CPU
byte format, which is really not true anymore for quite some time.
2005-05-15 12:38:55 +02:00
Brad Roberts
dbbce55b3a Rename some more cache-related functions
same_name -> ce_same_name()
remove_entry_at() -> remove_cache_entry_at()

Signed-off-by: Brad Roberts <braddr@puremagic.com>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 12:37:39 +02:00
Brad Roberts
5d728c8411 Rename cache_match_stat() to ce_match_stat()
Signed-off-by: Brad Roberts <braddr@puremagic.com>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 12:26:25 +02:00
Brad Roberts
127cfd0d2f Cleanup the x-allocation functions
xmalloc() and xrealloc() now take their sizes as size_t-type arguments.
Introduced complementary xcalloc().

Signed-off-by: Brad Roberts <braddr@puremagic.com>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 11:58:12 +02:00
Paul Mackerras
98f350e501 Add a widget to show the SHA1 ID of the current commit
Add a find facility to search within the commits
Cope with multiple starting points.
2005-05-15 05:56:51 +00:00
Junio C Hamano
902b92e00e [PATCH 3/3] Rename git-diff-tree-helper to git-diff-helper (part 2).
It used to be that diff-tree needed helper support to parse its
raw output to generate diffs, but these days git-diff-* family
produces the same output and the helper is not tied to diff-tree
anymore.  Drop "tree" from its name.

This follows the "rename only" commit to adjust the contents of
the files involved.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 02:06:05 +02:00
Junio C Hamano
99665af5c0 [PATCH 2/3] Rename git-diff-tree-helper to git-diff-helper.
It used to be that diff-tree needed helper support to parse its
raw output to generate diffs, but these days git-diff-* family
produces the same output and the helper is not tied to diff-tree
anymore.  Drop "tree" from its name.

This commit is done separately to record just the rename and no
file content changes. The changes in the renamed files are recorded
in the next commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Bundled with the changes in the unrenamed files.

Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 02:05:03 +02:00
Junio C Hamano
13ab4462d2 The test of the basic diff functionality
This test comes from "[PATCH 2/2] The core GIT tests: recent additions and
fixes" but couldn't be included before since it depended on the modechange
diff output changes.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15 02:00:29 +02:00