Commit Graph

5514 Commits

Author SHA1 Message Date
Eric Wong
b68ea12e30 diff.c: respect diff.renames config option
diff.renames is mentioned several times in the documentation,
but to my surprise it didn't do anything before this patch.

Also add the --no-renames option to override this from the
command-line.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 12:28:53 -07:00
Stephan Feder
d507bb1500 diff-options: Explain --text and -a
Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 12:28:04 -07:00
Stephan Feder
ca49920f6f Add -a and --text to common diff options help
Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 12:28:04 -07:00
Stephan Feder
63ac450119 Teach diff -a as shorthand for --text
Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 12:28:04 -07:00
Stephan Feder
6d64ea965b Teach --text option to diff
Add new item text to struct diff_options.
If set then do not try to detect binary files.

Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 12:28:04 -07:00
Jakub Narebski
6bdca89057 send-email: format 2822 datestring ourselves.
It is not worth trying to force C locale (and failing) just to
format the 2822 datestring.

This code was borrowed from /usr/bin/822-date (Ian Jackson and
Klee Dienes, both in public domain), per suggestion by Eric Wong.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Jakub Narebski <jnareb@gmail.com>
2006-07-07 12:17:49 -07:00
Stephan Feder
c9c95bbc9c Do not drop data from '\0' until eol in patch output
The binary file detection is just a heuristic which can well fail.
Do not produce garbage patches in these cases.

Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 03:48:10 -07:00
Eric Wong
97beb812db builtin-log: respect diff configuration options
The log commands are all capable of generating diffs, so we
should respect those configuration options for diffs here.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-07 03:25:14 -07:00
Junio C Hamano
be4c7014f2 rev-parse documentation: talk about range notation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-06 22:37:51 -07:00
Junio C Hamano
8048e24b87 show-branch: match documentation and usage
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-06 19:29:00 -07:00
Junio C Hamano
bf928e9d2c Merge branch 'js/merge-base' 2006-07-06 19:26:13 -07:00
Junio C Hamano
b7d936b2fd builtin-rev-parse.c: constness tightening
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-06 17:18:30 -07:00
Junio C Hamano
c31cfb3db3 Merge branch 'ew/instaweb'
* ew/instaweb:
  instaweb: fix unportable ';' usage in sed
  Makefile: replace ugly and unportable sed invocation
  Add git-instaweb, instantly browse the working repo with gitweb
  gitweb: Declare global variables with "our"
  gitweb: Enable tree (directory) history display
  gitweb: optimize per-file history generation
2006-07-06 17:01:00 -07:00
Joachim Berdal Haga
3d3e95af82 core.compression documentation formatting fix.
I didn't notice earlier that two colons are required for the
asciidoc entry.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-06 16:50:50 -07:00
Junio C Hamano
ac83aa2e1f git-reset: complain and exit upon seeing an unknown parameter.
The check to use "rev-parse --verify" was defeated by the use of
"--default HEAD".  "git reset --hard bogus-committish" just
defaulted to reset to the HEAD without complaining.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-05 19:44:03 -07:00
Junio C Hamano
bc483d0480 Merge branch 'lt/gitweb'
* lt/gitweb:
  gitweb: Declare global variables with "our"
  gitweb: Enable tree (directory) history display
  gitweb: optimize per-file history generation
2006-07-05 16:40:15 -07:00
Junio C Hamano
a3d470c2d5 Merge branch 'jc/fmt-merge-msg-test'
* jc/fmt-merge-msg-test:
  t6200: fmt-merge-msg test.
2006-07-05 16:36:46 -07:00
Junio C Hamano
b296990c3b Merge branch 'jc/sha1'
* jc/sha1:
  A better-scheduled PPC SHA-1 implementation.
  test-sha1: test hashing large buffer
  Makefile: add framework to verify and bench sha1 implementations.
2006-07-05 16:36:25 -07:00
Junio C Hamano
49b2788539 Merge branch 'jc/diff-test'
* jc/diff-test:
  t4013: add "diff" UI program tests.
2006-07-05 16:33:50 -07:00
Junio C Hamano
0c926a3d9c Merge branch 'th/diff'
* th/diff:
  builtin-diff: turn recursive on when defaulting to --patch format.
  t4013: note improvements brought by the new output code.
  t4013: add format-patch tests.
  format-patch: fix diff format option implementation
  combine-diff.c: type sanity.
  t4013 test updates for new output code.
  Fix some more diff options changes.
  Fix diff-tree -s
  log --raw: Don't descend into subdirectories by default
  diff-tree: Use ---\n as a message separator
  Print empty line between raw, stat, summary and patch
  t4013: add more tests around -c and --cc
  whatchanged: Default to DIFF_FORMAT_RAW
  Don't xcalloc() struct diffstat_t
  Add msg_sep to diff_options
  DIFF_FORMAT_RAW is not default anymore
  Set default diff output format after parsing command line
  Make --raw option available for all diff commands
  Merge with_raw, with_stat and summary variables to output_format
  t4013: add tests for diff/log family output options.
2006-07-05 16:31:24 -07:00
Junio C Hamano
169c2e9d1e Merge branch 'jc/grepfix'
* jc/grepfix:
  git-grep: use a bit more specific error messages.
  git-grep: fix exit code when we use external grep.
  git-grep: fix parsing of pathspec separator '--'
2006-07-05 16:25:32 -07:00
Junio C Hamano
d87b90e47f Merge branch 'js/fmt-merge-msg'
* js/fmt-merge-msg:
  Make git-fmt-merge-msg a builtin
2006-07-05 16:23:46 -07:00
Ville Skytt,Ad(B
b5dd9d2027 Fix print-log and diff compatibility with recent vc versions
Here's a patch that fixes print-log and diff compatibility with recent
vc versions, such as current GNU Emacs CVS.

Signed-off-by: Ville Skytt,Ad(B <scop@xemacs.org>
2006-07-05 16:17:56 -07:00
Eric Wong
4bbf599f7b git-svn: avoid fetching files outside of the URL we're tracking
Thanks to Santi <sbejar@gmail.com> for the bug report and explanation:
> /path/to/repository/project/file
> /path/to/repository/project-2/file
<...>
> you end up with a project with the following files:
>
> file
> -2/file

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2006-07-05 16:17:47 -07:00
Junio C Hamano
58ecf5c1cd Re-fix clear_commit_marks().
Fix clear_commit_marks() enough to be usable in
get_merge_bases(), and retire now unused clear_object_marks().

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 17:45:22 -07:00
Linus Torvalds
2718ff098a Improve git-peek-remote
This makes git-peek-remote able to basically do everything that
git-ls-remote does (but obviously just for the native protocol, so no
http[s]: or rsync: support).

The default behaviour is the same, but you can now give a mixture of
"--refs", "--tags" and "--heads" flags, where "--refs" forces
git-peek-remote to only show real refs (ie none of the fakey tag lookups,
but also not the special pseudo-refs like HEAD and MERGE_HEAD).

The "--tags" and "--heads" flags respectively limit the output to just
regular tags and heads, of course.

You can still also ask to limit them by name too.

You can combine the flags, so

	git peek-remote --refs --tags .

will show all local _true_ tags, without the generated tag lookups
(compare the output without the "--refs" flag).

And "--tags --heads" will show both tags and heads, but will avoid (for
example) any special refs outside of the standard locations.

I'm also planning on adding a "--ignore-local" flag that allows us to ask
it to ignore any refs that we already have in the local tree, but that's
an independent thing.

All this is obviously gearing up to making "git fetch" cheaper.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 14:50:35 -07:00
Rene Scharfe
4205eca8de rev-list: free commit_list in ... handler
Johannes noticed the missing call to free_commit_list() in the
patch from Santi to add ... support to rev-parse.  Turns out I
forgot it too in rev-list.  This patch is against the next branch
(3b1d06a).

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 14:32:52 -07:00
Junio C Hamano
088b084bbb git-grep: use a bit more specific error messages.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 03:15:46 -07:00
Junio C Hamano
fcfe34b5ac git-grep: fix exit code when we use external grep.
Upon hit, we should exit with status 0.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 03:15:46 -07:00
Junio C Hamano
5390590f6d git-grep: fix parsing of pathspec separator '--'
We used to misparse

	git grep -e foo -- '*.sh'

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 03:15:46 -07:00
Santi Béjar
3dd4e7320d Teach rev-parse the ... syntax.
[jc: moved the difference code around into its own function.]

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 03:14:23 -07:00
Eric Wong
4d62eaabeb t8001-annotate: fix a bash-ism in this test
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-04 02:55:52 -07:00
Johannes Schindelin
00449f992b Make git-fmt-merge-msg a builtin
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 19:42:41 -07:00
Junio C Hamano
30a95f3073 t6200: fmt-merge-msg test.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 19:12:43 -07:00
Junio C Hamano
280242d1cc send-email: do not barf when Term::ReadLine does not like your terminal
As long as we do not need to readline from the terminal, we
should not barf when starting up the program.  Without this
patch, t9001 test on Cygwin occasionally died with the following
error message:

Unable to get Terminal Size. The TIOCGWINSZ ioctl didn't work. The COLUMNS and LINES environment variables didn't work. The resize program didn't work. at /usr/lib/perl5/vendor_perl/5.8/cygwin/Term/ReadKey.pm line 362.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8/Term/ReadLine/Perl.pm line 58.

Acked-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 19:04:46 -07:00
Junio C Hamano
624314fda7 boolean: accept yes and no as well
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 18:48:23 -07:00
Ryan Anderson
3f492ba1fc annotate: Correct most merge following to annotate correctly.
There is still a bug involving octopus merges, somewhere, but this gets normal
merges correct, so it's still an improvement over the existing version.

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 18:43:49 -07:00
Ryan Anderson
f560069bc5 annotate: Support annotation of files on other revisions.
This is a bug fix, and cleans up one or two other things spotted during the
course of tracking down the main bug here.

Also, the test-suite is updated to reflect this case.

Signed-off-by: Ryan Anderson <ryan@michonline.com>
(cherry picked from 2f7554b4db3ab2c2d3866b160245c91c9236fc9a commit)
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 18:41:58 -07:00
Joachim B Haga
12f6c308d5 Make zlib compression level configurable, and change default.
With the change in default, "git add ." on kernel dir is about
twice as fast as before, with only minimal (0.5%) change in
object size. The speed difference is even more noticeable
when committing large files, which is now up to 8 times faster.

The configurability is through setting core.compression = [-1..9]
which maps to the zlib constants; -1 is the default, 0 is no
compression, and 1..9 are various speed/size tradeoffs, 9
being slowest.

Signed-off-by: Joachim B Haga (cjhaga@fys.uio.no)
Acked-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 13:55:11 -07:00
Junio C Hamano
f23c75a8ec Merge branch 'master' into js/merge-base
This is to pull in the object-hash clean-up from the master branch.
2006-07-03 03:16:52 -07:00
Junio C Hamano
160b798303 revert clear-commit-marks for now.
Earlier change broke "git describe A B" among other things.
Revert it for now, and clean the commits smudged by
get_merge_bases using clear_object_marks() function.  For
complex commit ancestry graph, this is way cheaper as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 03:05:20 -07:00
Junio C Hamano
2ef108013e get_merge_bases: clean up even when there is no common commit.
Actually in this case we would have traversed a lot of commits, so cleaning
things up is even more important.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 03:02:27 -07:00
Junio C Hamano
8fced61cbc Makefile: tighten git-http-{fetch,push} dependencies
Although our "git-%$X:" implicit target had dependency on
$(GITLIBS) which included xdiff/lib.a, git-http-{fetch,push} had
their own building rules and with an obsolete dependency on
$(LIB_FILES).  Update the rules to depend on $(GITLIBS), to make
parallel build work correctly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 00:58:34 -07:00
Robin Rosenberg
35c636ec48 Empty author may be presented by svn as an empty string or a null value.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 17:07:45 -07:00
Junio C Hamano
542ccefe89 commit.c: do not redefine UNINTERESTING bit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 11:34:17 -07:00
Eric Wong
6ee030d68a instaweb: fix unportable ';' usage in sed
Hint taken from Johannes.  I've tested this with sed --posix on
my system with GNU sed and it works fine with and also without
it.  Further portability testing/review would be good.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 11:04:56 -07:00
Johannes Schindelin
07002287f3 Makefile: replace ugly and unportable sed invocation
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 11:04:50 -07:00
Rene Scharfe
c0fa8255c6 Fold get_merge_bases_clean() into get_merge_bases()
Change get_merge_bases() to be able to clean up after itself if
needed by adding a cleanup parameter.

We don't need to save the flags and restore them afterwards anymore;
that was a leftover from before the flags were moved out of the
range used in revision.c.  clear_commit_marks() sets them to zero,
which is enough.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 10:58:25 -07:00
Linus Torvalds
02d3dca3bf revision.c: fix "dense" under --remove-empty
It had the wrong test for whether a commit was a merge. What it did was to
say that a non-merge has exactly one parent (which sounds almost right),
but the fact is, initial trees have no parent at all, but they're
obviously not merges.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 10:55:59 -07:00
Junio C Hamano
047fbe906b builtin-diff: turn recursive on when defaulting to --patch format.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-01 22:15:40 -07:00