Commit Graph

4276 Commits

Author SHA1 Message Date
Junio C Hamano
a24f1e254e builtin-grep: printf %.*s length is int, not ptrdiff_t.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 01:28:02 -07:00
Junio C Hamano
1362671f6a builtin-grep: do not use setup_revisions()
Grep may want to grok multiple revisions, but it does not make
much sense to walk revisions while doing so.  This stops calling
the code to parse parameters for the revision walker.  The
parameter parsing for the optional "-e" option becomes a lot
simpler with it as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-01 15:58:29 -07:00
Junio C Hamano
df0e7aa864 builtin-grep: support '-l' option.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-01 12:40:17 -07:00
Junio C Hamano
e0eb889f8e builtin-grep: wildcard pathspec fixes
This tweaks the pathspec wildcard used in builtin-grep to match
that of ls-files.  With this:

	git grep -e DEBUG -- '*/Kconfig*'

would work like the shell script version, and you could even do:

	git grep -e DEBUG --cached -- '*/Kconfig*' ;# from index
	git grep -e DEBUG v2.6.12 -- '*/Kconfig*' ;# from rev

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-01 12:31:04 -07:00
Junio C Hamano
5010cb5fcc built-in "git grep"
This attempts to set up built-in "git grep" to further reduce
our dependence on the shell, while at the same time optionally
allowing to run grep against object database.  You could do
funky things like these:

	git grep --cached -e pattern	;# grep from index
	git grep -e pattern master	;# or in a rev
	git grep -e pattern master next ;# or in multiple revs
	git grep -e pattern pu^@	;# even like this with an
					;# extension from another topic ;-)
	git grep -e pattern master..next ;# or even from rev ranges
	git grep -e pattern master~20:Documentation
					;# or an arbitrary tree
	git grep -e pattern next:git-commit.sh
        				;# or an arbitrary blob

Right now, it does not understand and/or obey many options grep
should accept, and the pattern must be given with -e option due
to the way the parameter parser is structured, both of which
obviously need to be fixed for usability.

But this is going in the right direction.  The shell script
version is one of the worst Portability offender in the git
barebone Porcelainish; it uses xargs -0 to pass paths around and
shell arrays to sift flags and parameters.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-01 01:26:46 -07:00
Junio C Hamano
66ae0c7702 Merge branch 'fix'
* fix:
  git-format-patch: Use rfc2822 compliant date.
2006-04-30 00:59:10 -07:00
Huw Davies
262a6ef76a git-format-patch: Use rfc2822 compliant date.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-30 00:32:25 -07:00
Junio C Hamano
89719209f4 Merge branch 'fix'
* fix:
  Fix trivial typo in git-log man page.
  Properly render asciidoc "callouts" in git man pages.
  Fix up remaining man pages that use asciidoc "callouts".
  Update the git-branch man page to include the "-r" option,
  annotate: display usage information if no filename was given
  annotate: fix warning about uninitialized scalar
  git-am --resolved: more usable error message.
2006-04-28 16:57:32 -07:00
Sean Estabrooks
aa6bf0eb64 Fix trivial typo in git-log man page.
Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:53 -07:00
Sean Estabrooks
776e994af5 Properly render asciidoc "callouts" in git man pages.
Adds an xsl fragment to render docbook callouts when
converting to man page format.  Update the Makefile
to have "xmlto" use it when generating man pages.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:51 -07:00
Sean Estabrooks
48aeecdcc1 Fix up remaining man pages that use asciidoc "callouts".
Unfortunately docbook does not allow a callout to be
referenced from inside a callout list description.
Rewrite one paragraph in git-reset man page to work
around this limitation.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:36 -07:00
Sean Estabrooks
2eaf273d51 Update the git-branch man page to include the "-r" option,
and fix up asciidoc "callouts"

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:18 -07:00
Matthias Kestenholz
fe77bb1a02 annotate: display usage information if no filename was given
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
2006-04-28 14:29:04 -07:00
Matthias Kestenholz
d0ad165366 annotate: fix warning about uninitialized scalar
Use of uninitialized value in scalar chomp at
./git-annotate.perl line 212, <$kid> chunk 4.

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
2006-04-28 14:28:28 -07:00
Junio C Hamano
c1d1128bef git-am --resolved: more usable error message.
After doing the hard work of hand resolving the conflicts in the
working tree, if the user forgets to run update-index to mark
the paths that have been resolved, the command gave an
unfriendly "fatal: git-write-tree: not able to write tree" error
message.  Catch the situation early and give more meaningful
message and suggestion.

Noticed and suggested by Len Brown.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-28 02:32:44 -07:00
Junio C Hamano
bd346f105d Merge branch 'fix'
* fix:
  verify-pack: check integrity in a saner order.
2006-04-27 15:42:32 -07:00
Junio C Hamano
55e1805dff verify-pack: check integrity in a saner order.
Check internal integrity to report corrupt pack or idx, and
then check cross-integrity between idx and pack.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 15:42:17 -07:00
Junio C Hamano
e5de2c5e30 Merge branch 'pb/config'
* pb/config:
  git-cvsserver: typofixes
  Deprecate usage of git-var -l for getting config vars list
  git-repo-config --list support
2006-04-27 12:23:01 -07:00
Junio C Hamano
bd4bd2261b Merge branch 'jc/diffstat'
* jc/diffstat:
  diff --stat: show complete rewrites consistently.
2006-04-27 11:58:33 -07:00
Linus Torvalds
83aa18eade Fix "git help -a" terminal autosizing
When I split out the builtin commands into their own files, I left the
include of <sys/ioctl.h> in git.c rather than moving it to the file that
needed it (builtin-help.c).

Nobody seems to have noticed, because everything still worked, but because
the TIOCGWINSZ macro was now no longer defined when compiling the
"term_columns()" function, it would no longer automatically notice the
terminal size unless your system used the ancient "COLUMNS" environment
variable approach.

Trivially fixed by just moving the header include to the file that
actually needs it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 11:45:39 -07:00
Junio C Hamano
61678d87c2 diff-index: fix compilation warnings.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 01:59:00 -07:00
Junio C Hamano
9af0b8dbe2 t0000-basic: more commit-tree tests.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 18:25:15 -07:00
Junio C Hamano
69bcc43eca Merge branch 'fix'
* fix:
  commit-tree.c: check_valid() microoptimization.
  Fix filename verification when in a subdirectory
  rebase: typofix.
  socksetup: don't return on set_reuse_addr() error
2006-04-26 17:08:00 -07:00
Junio C Hamano
5981e09999 commit-tree.c: check_valid() microoptimization.
There is no point reading the whole object just to make sure it exists and
it is of the expected type.  We added sha1_object_info() for such need
after this code was written, so use it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 16:55:25 -07:00
Linus Torvalds
e23d0b4a4a Fix filename verification when in a subdirectory
When we are in a subdirectory of a git archive, we need to take the prefix
of that subdirectory into accoung when we verify filename arguments.

Noted by Matthias Lederhofer

This also uses the improved error reporting for all the other git commands
that use the revision parsing interfaces, not just git-rev-parse. Also, it
makes the error reporting for mixed filenames and argument flags clearer
(you cannot put flags after the start of the pathname list).

[jc: with fix to a trivial typo noticed by Timo Hirvonen]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 12:16:21 -07:00
Junio C Hamano
b176e6ba5b rebase: typofix.
Noticed by Sean.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 12:16:19 -07:00
Junio C Hamano
3496277a56 commit-tree: allow generic object name for the tree as well.
We use get_sha1() for -p (parent) objects, but still used
get_sha1_hex() for the tree.  Just to be consistent, allow
extended SHA1 expression for the tree object name.

Note that this is not to encourage funky things like this:

	git-commit-tree HEAD^{tree} -p HEAD

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 03:18:51 -07:00
Junio C Hamano
2d86d2c6fc Makefile: remove and create xdiff library from scratch.
... in the same spirit as 71459c193d.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 03:12:58 -07:00
Junio C Hamano
fdeb6bf55b t0000-basic: Add ls-tree recursive test back.
When we updated ls-tree recursive output to omit the tree nodes,
246cc52f38 adjusted the old test
so that we do not expect to see trees in its output.  Later,
with 0f8f45cb4a, we added back the
ability to show both with -t option, but we forgot to update the
test as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 02:27:59 -07:00
Junio C Hamano
5348b6e7f4 git-cvsserver: typofixes
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-25 23:59:28 -07:00
Junio C Hamano
710158e3ca diff --stat: show complete rewrites consistently.
The patch format shows complete rewrite as deletion of all old lines
followed by addition of all new lines.  Count lines consistenly with
that when doing diffstat.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-25 23:40:09 -07:00
Junio C Hamano
e9b5b75ca8 Merge branch 'jc/diff'
* jc/diff:
  Libified diff-index: backward compatibility fix.
  Libify diff-index.
  Libify diff-files.
2006-04-25 23:12:21 -07:00
Junio C Hamano
71459c193d Makefile: remove and create libgit.a from scratch.
Foolishly I renamed diff.o around which caused an old diff.o
taken out of libgit.a and got linked into resulting binary and
exhibited mysterious breakage for many people.  This borrows
from the kernel Makefile (scripts/Makefile.build) to first remove
the target and then recreate.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-25 23:11:17 -07:00
Serge E. Hallyn
7d09fbe4ab socksetup: don't return on set_reuse_addr() error
The set_reuse_addr() error case was the only error case in
socklist() where we returned rather than continued.  Not sure
why.  Either we must free the socklist, or continue.  This patch
continues on error.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 0032d548db commit)
2006-04-24 23:07:54 -07:00
Petr Baudis
e1cbc46d12 Deprecate usage of git-var -l for getting config vars list
This has been an unfortunate sideway in the git API evolution.
We use git-repo-config for all the other .git/config interaction
so let's also use git-repo-config -l for the variable listing.

Signed-off-by: Petr Baudis <pasky@suse.cz>
2006-04-24 22:29:36 -07:00
Petr Baudis
de791f15a1 git-repo-config --list support
This adds git-repo-config --list (or git-repo-config -l) support,
similar to what git-var -l does now (to be phased out so that we
have a single sane interface to the config file instead of fragmented
and confused API).

Signed-off-by: Petr Baudis <pasky@suse.cz>
2006-04-24 22:29:33 -07:00
Junio C Hamano
36932eab77 Merge branch 'fix'
* fix:
  Document the configuration file
  Document git-var -l listing also configuration variables
  rev-parse: better error message for ambiguous arguments
2006-04-24 22:26:57 -07:00
Petr Baudis
1ab661ddb7 Document the configuration file
This patch adds a Documentation/config.txt file included by git-repo-config
and currently aggregating hopefully all the available git plumbing / core
porcelain configuration variables, as well as briefly describing the format.

It also updates an outdated bit of the example in git-repo-config(1).

Signed-off-by: Petr Baudis <pasky@suse.cz>
2006-04-24 22:26:37 -07:00
Petr Baudis
4ee6bc9913 Document git-var -l listing also configuration variables
Signed-off-by: Petr Baudis <pasky@suse.cz>
2006-04-24 22:26:34 -07:00
Paul Mackerras
3e1a70d925 rev-parse: better error message for ambiguous arguments
Currently, if git-rev-parse encounters an argument that is neither a
recognizable revision name nor the name of an existing file or
directory, and it hasn't encountered a "--" argument, it prints an
error message saying "No such file or directory".  This can be
confusing for users, including users of programs such as gitk that
use git-rev-parse, who may then think that they can't ask about the
history of files that no longer exist.

This makes it print a better error message, one that points out the
ambiguity and tells the user what to do to fix it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-24 22:22:29 -07:00
Junio C Hamano
be02b3c53e Merge branch 'ar/chmod-series'
* ar/chmod-series:
  make update-index --chmod work with multiple files and --stdin
2006-04-24 02:08:35 -07:00
Junio C Hamano
c6df547a41 Merge branch 'sh/daemon'
* sh/daemon:
  socksetup: don't return on set_reuse_addr() error
2006-04-24 02:08:28 -07:00
Junio C Hamano
2effe71b7c Merge branch 'jc/cc-stat'
* jc/cc-stat:
  Fix "git show --stat"
2006-04-24 02:06:40 -07:00
Junio C Hamano
cdb63506a0 Merge branch 'jc/unresolve'
* jc/unresolve:
  git-update-index --unresolve
  Add git-unresolve <paths>...
2006-04-24 02:05:55 -07:00
Junio C Hamano
3a403e49b9 Merge branch 'jc/color'
* jc/color:
  Add colordiff for git to contrib/colordiff.
2006-04-24 02:05:07 -07:00
Junio C Hamano
a549e11cc2 Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk:
  gitk: Let git-rev-list do the argument list parsing
2006-04-24 01:39:01 -07:00
Paul Mackerras
61e56c8823 gitk: Let git-rev-list do the argument list parsing
This is a fix for a problem reported by Jim Radford where an argument
list somewhere overflows on repositories with lots of tags.  In fact
it's now unnecessary to use git-rev-parse since git-rev-list can take
all the arguments that git-rev-parse can.  This is inspired by but not
the same as the solutions suggested by Jim Radford and Linus Torvalds.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-23 18:00:24 +10:00
Alex Riesen
227bdb186f make update-index --chmod work with multiple files and --stdin
The patch makes "--chmod=-x" and "--chmod=+x" act like "--add"
and "--remove" to affect the behaviour of the command for the
rest of the path parameters, not just the following one.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-23 00:47:03 -07:00
Junio C Hamano
5c21ac0e7c Libified diff-index: backward compatibility fix.
"diff-index -m" does not mean "do not ignore merges", but means
"pretend missing files match the index".

The previous round tried to address this, but failed because
setup_revisions() ate "-m" flag before the caller had a chance
to intervene.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-22 04:03:32 -07:00
Junio C Hamano
e09ad6e1e3 Libify diff-index.
The second installment to libify diff brothers.  The pathname
arguments are checked more strictly than before because we now
use the revision.c::setup_revisions() infrastructure.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-22 02:43:00 -07:00