Commit Graph

3971 Commits (384e99a4a99820c34fe3600b2aad3f0185dd43db)

Author SHA1 Message Date
Ryan Anderson 5fcab3d7db 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.

[jc: the part that updates test-suite is split out to the next
 one. Also I dropped "use Data::Dumper;" which seemed leftover
 from debugging session.]

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:01:28 -08:00
Junio C Hamano 6013f17d88 Merge part of 'jc/pack' into 'next' 2006-03-05 17:05:08 -08:00
Dmitry V. Levin bd494fc76b git/Documentation: fix SYNOPSIS style bugs
This trivial patch fixes SYNOPSIS style bugs.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 17:02:02 -08:00
Junio C Hamano 604c86d15b blame: avoid "diff -u0".
As Linus suggests, use "diff -u -U 0" instead.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Fredrik Kuivinen 8752d11d60 git-blame: Use the same tests for git-blame as for git-annotate
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Junio C Hamano cfea8e077b blame and annotate: show localtime with timezone.
Earlier they showed gmtime and timezone, which was inconsistent
with the way our commits and tags are pretty-printed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Junio C Hamano a0fb95e319 blame: avoid -lm by not using log().
... as suggested on the list.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Fredrik Kuivinen ea4c7f9bf6 git-blame: Make the output human readable
The default output mode is slightly different from git-annotate's.
However, git-annotate's output mode can be obtained by using the
'-c' flag.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 14:49:58 -08:00
Linus Torvalds ea5ed3abce get_revision(): do not dig deeper when we know we are at the end.
This resurrects the special casing for "rev-list -n 1" which
avoided reading parents unnecessarily.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 13:35:41 -08:00
Jeff Muizelaar 872d001f7f documentation: add 'see also' sections to git-rm and git-add
Pair up git-add and git-rm by adding a 'see also' section that
references the opposite command to each of their documentation files.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 13:33:13 -08:00
Mark Wooding 8911db70f8 contrib/emacs/Makefile: Provide tool for byte-compiling files.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 11:32:49 -08:00
Mark Wooding 0aee3d6d4e gitignore: Ignore some more boring things.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 11:26:18 -08:00
Junio C Hamano 473ab1659b verify-pack -v: show delta-chain histogram.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 11:22:01 -08:00
Junio C Hamano ee5c78434a Merge branch 'master' into next
* master:
  Const tightening.
  Documentation/Makefile: Some `git-*.txt' files aren't manpages.
  cvsserver: updated documentation
2006-03-05 02:49:34 -08:00
Junio C Hamano 9201c70742 Const tightening.
Mark Wooding noticed there was a type mismatch warning in git.c; this
patch does things slightly differently (mostly tightening const) and
was what I was holding onto, waiting for the setup-revisions change
to be merged into the master branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 02:47:29 -08:00
Mark Wooding 4a5d693950 Documentation/Makefile: Some `git-*.txt' files aren't manpages.
In particular, git-tools.txt isn't a manpage, and my Asciidoc gets upset
by it.  The simplest fix is to Remove articles from the list of manpages
the Makefile.

Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 02:32:13 -08:00
Martin Langhoff b30cc0daaf cvsserver: updated documentation
... and stripped trailing whitespace to appease the Gods...

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 02:22:53 -08:00
Junio C Hamano 6c2711e70c Merge branch 'sp/checkout' into next
* sp/checkout:
  Add --temp and --stage=all options to checkout-index.
  cosmetics: change from 'See-Also' to 'See Also'
  git-commit --amend: allow empty commit.
2006-03-05 00:59:07 -08:00
Shawn Pearce de84f99c12 Add --temp and --stage=all options to checkout-index.
Sometimes it is convient for a Porcelain to be able to checkout all
unmerged files in all stages so that an external merge tool can be
executed by the Porcelain or the end-user.  Using git-unpack-file
on each stage individually incurs a rather high penalty due to the
need to fork for each file version obtained.  git-checkout-index -a
--stage=all will now do the same thing, but faster.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 00:58:13 -08:00
Jeff Muizelaar 46444f514b cosmetics: change from 'See-Also' to 'See Also'
Changes the documentation that uses 'See-Also' to the more common
'See Also' form.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 00:57:37 -08:00
Junio C Hamano 8588452ceb git-commit --amend: allow empty commit.
When amending a commit only to update the commit log message, git-status
would rightly say "Nothing to commit."  Do not let this prevent commit to
be made.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 00:57:01 -08:00
Junio C Hamano a5abcd094b Merge branch 'jc/diff' into next
* jc/diff:
  Merge jc/diff leftover bits.
2006-03-04 16:21:38 -08:00
Junio C Hamano 3ab8532b07 Merge branch 'master' into next
* master:
  Cauterize dropped or duplicate bits from next.
  Merge part of 'sp/checkout'
2006-03-04 16:21:33 -08:00
Junio C Hamano 1c7fee5d08 Cauterize dropped or duplicate bits from next.
I am very sorry to do this, but without this funky octopus, "git
log --no-merges master..next" will show commits already merged
into "master" forever.

There are some commits on the next branch (which is never to be
rewound) that are reverts of other commits on the next branch.
They are to revert the finer grained delta experiments that
turned out to have undesirable performance effects.  Also there
are some other commits that were first done as a merge into
"next" (a pull request based on next) and then cherry picked
into master.  Since they are not going to be merged into
"master" ever, they will stay forever in "log master..next".

Yuck.

So this commit records the fact that the commits currently shown
by "git log --no-merges master..next" to be merged into "master"
are already in the master, either because they really are (in
the case of git-cvsserver bits, which needed cherry-picking into
"master"), or because they are fully reverted in "next" (in the
case of finer-grained delta bits).

Here is the way I made this commit:

 (1) Inspect "gitk --no-merges --parents master..next"

     This shows what git thinks are missing from master.  It
     shows chain of commits that are already merged and chain of
     commits whose net effect should amount to a no-op.

     Look at each commits and make sure they are either unwanted
     or already merged by cherry-picking.

 (2) Record the tip of branches that I do not want.  In this
     case, the following were unwanted:

     cfcbd3427e cvsserver
     c436eb8cf1 diff-delta
     38fd0721d0 diff-delta
     f0bcd511ee cvsserver
     2b8d9347aa diff-delta

 (3) Shorten the list by finding independent ones from the
     above.

     $ git show-branch --independent $the $above $tips
     
     cfcbd3427e
     c436eb8cf1

 (4) Checkout "master" and cauterize them with "ours" strategy:

     $ git merge -s ours "`cat $this-file`" HEAD cfcbd3 c436eb
2006-03-04 16:18:43 -08:00
Junio C Hamano ce2a34188b Merge jc/diff leftover bits. 2006-03-04 15:49:26 -08:00
Junio C Hamano d10ed827bc Merge part of 'sp/checkout' 2006-03-04 14:58:11 -08:00
Junio C Hamano b463ceb885 Merge branch 'master' into next
* master:
  AsciiDoc fix for tutorial
  git.el: Added customize support for all parameters.
  git.el: Added support for Signed-off-by.
  git.el: Automatically update .gitignore status.
  git.el: Set default directory before running the status mode setup hooks.
  git.el: Portability fixes for XEmacs and Emacs CVS.
  contrib/emacs: Add an Emacs VC backend.
2006-03-04 13:53:27 -08:00
Francis Daly 2eb063c933 AsciiDoc fix for tutorial
RE \^.+\^ becomes <sup>. Not wanted here

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:50:04 -08:00
Alexandre Julliard a79656e6af git.el: Added customize support for all parameters.
Also fixed quoting of git-log-msg-separator.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:47:02 -08:00
Alexandre Julliard 45033ad9e3 git.el: Added support for Signed-off-by.
If `git-append-signed-off-by' is non-nil, automatically append a
sign-off line to the log message when editing it.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:46:52 -08:00
Alexandre Julliard b23761d9ac git.el: Automatically update .gitignore status.
Update .gitignore files in the status list as they are created or
modified.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:46:20 -08:00
Alexandre Julliard a944652c05 git.el: Set default directory before running the status mode setup hooks.
Also set the list-buffers-directory variable for nicer buffer list
display.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:46:13 -08:00
Alexandre Julliard 18e3e99e3d git.el: Portability fixes for XEmacs and Emacs CVS.
Fixed octal constants for XEmacs.
Added highlighting support in log-edit buffer for Emacs CVS.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:45:58 -08:00
Alexandre Julliard 486a974acc contrib/emacs: Add an Emacs VC backend.
Add a basic Emacs VC backend. It currently supports the following
commands: checkin, checkout, diff, log, revert, and annotate. There is
only limited support for working with revisions other than HEAD.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:45:37 -08:00
Junio C Hamano cc44185f1f Merge branch 'jc/diff' into next
* jc/diff:
  diffcore-delta: make change counter to byte oriented again.
  diffcore-break: similarity estimator fix.
  count-delta: no need for this anymore.
2006-03-04 13:39:31 -08:00
Junio C Hamano ba23bbc8ef diffcore-delta: make change counter to byte oriented again.
The textual line oriented change counter was fun but was not
very effective.  It tended to overcount the changes.  This one
changes it to a simple N-letter substring based implementation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:34:50 -08:00
Junio C Hamano 4d0f39cecf diffcore-break: similarity estimator fix.
This is a companion patch to the previous fix to diffcore-rename.
The merging-back process should use a logic similar to what is used
there.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:26:36 -08:00
Junio C Hamano f5948cfe67 count-delta: no need for this anymore.
This is a companion patch to e29e1147e4
which made diffcore similarity estimator independent from the packfile
deltifier.  There is no reason for us to be counting the xdelta anymore.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-04 13:26:36 -08:00
Junio C Hamano 8d6afc116a Merge branch 'master' into next
* master:
  Merge branch 'fk/blame'
  Merge branch 'lt/rev-list'
2006-03-04 13:23:24 -08:00
Junio C Hamano f2fea68a0f Merge branch 'fk/blame'
* fk/blame:
  git-blame, take 2
  Merge part of 'lt/rev-list' into 'fk/blame'
  Add git-blame, a tool for assigning blame.
2006-03-04 13:22:01 -08:00
Junio C Hamano 21dbe12c76 Merge branch 'lt/rev-list'
* lt/rev-list:
  setup_revisions(): handle -n<n> and -<n> internally.
  git-log (internal): more options.
  git-log (internal): add approxidate.
  Rip out merge-order and make "git log <paths>..." work again.
  Tie it all together: "git log"
  Introduce trivial new pager.c helper infrastructure
  git-rev-list libification: rev-list walking
  Splitting rev-list into revisions lib, end of beginning.
  rev-list split: minimum fixup.
  First cut at libifying revlist generation
2006-03-04 13:21:17 -08:00
Junio C Hamano 41094b8eeb Merge tag 'ko-next' into next
I just rebuilt my 'next' branch from scratch, based on master without
the delta topics that were there.  This would rewind the head which is
a no-no.  This merges the original 'next' back in, to finish the "reverting"
of these two topic branches.
nothing to commit
2006-03-04 00:41:39 -08:00
Junio C Hamano 859ab4c87a Merge part of 'sp/checkout' 2006-03-04 00:32:25 -08:00
Junio C Hamano c339e8e2cb Merge branch 'fk/blame' into next
* fk/blame:
  git-blame, take 2
  Merge part of 'lt/rev-list' into 'fk/blame'
  Add git-blame, a tool for assigning blame.
2006-03-04 00:31:46 -08:00
Junio C Hamano 6aba8fa865 Merge branch 'lt/rev-list' into next
* lt/rev-list:
  setup_revisions(): handle -n<n> and -<n> internally.
  git-log (internal): more options.
  git-log (internal): add approxidate.
  Rip out merge-order and make "git log <paths>..." work again.
  Tie it all together: "git log"
  Introduce trivial new pager.c helper infrastructure
  git-rev-list libification: rev-list walking
  Splitting rev-list into revisions lib, end of beginning.
  rev-list split: minimum fixup.
  First cut at libifying revlist generation
2006-03-04 00:31:38 -08:00
Junio C Hamano 5aad948f65 Merge branch 'jc/diff' into next
* jc/diff:
  diffcore-rename: similarity estimator fix.
  diffcore-delta: stop using deltifier for packing.
2006-03-04 00:31:28 -08:00
Marco Costalba ed19f36722 Add a Documentation/git-tools.txt
A brief survey of useful git tools, including third-party
and external projects.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-03 23:29:56 -08:00
Martin Langhoff 91a6bf4682 cvsserver: anonymous cvs via pserver support
git-cvsserver now knows how to do the pserver auth chat when the user
is anonymous. To get it to work, add a line to your inetd.conf like

  cvspserver stream tcp nowait nobody git-cvsserver pserver

(On some inetd implementations you may have to put the pserver parameter twice.)

Commits are blocked. Naively, git-cvsserver assumes non-malicious users. Please
review the code before setting this up on an internet-accessible server.

NOTE: the <nobody> user above will need write access to the .git directory
to maintain the sqlite database. Updating of the sqlite database should be
put in an update hook to avoid this problem, so that it is maintained by
users with write access.
2006-03-04 20:30:04 +13:00
Junio C Hamano 061ad5f4de Merge branch 'master' into next
* master:
  Merge branch 'tl/anno'
  cvsserver: better error messages
  cvsserver: nested directory creation fixups for Eclipse clients
  Merge branch 'maint'
  tar-tree: file/dirmode fix.
2006-03-03 22:29:32 -08:00
Junio C Hamano 8bc63c9ad4 Merge branch 'tl/anno'
* tl/anno:
  annotate should number lines starting with 1
2006-03-03 22:29:17 -08:00