Since I've started using the "merge.summary" flag in my repo, my merge
messages look nicer, but I dislike how I get notifications of merges
within merges.
So I'd suggest this trivial change..
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This brings http-push functionality more in line with the ssh/git version,
by borrowing bits from send-pack and rev-list to process refspecs and
revision history in more standard ways. Also, the status of remote objects
is determined using PROPFIND requests for the object directory rather than
HEAD requests for each object - while it may be less efficient for small
numbers of objects, this approach is able to get the status of all remote
loose objects in a maximum of 256 requests.
Signed-off-by: Junio C Hamano <junkio@cox.net>
The code which tried to update the master branch was somewhat broken.
=> People should do that manually, with "git merge".
Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Lines in a diff beginning with --- or +++ were not being displayed
at all. Thanks to Robert Fitzsimons for pointing out the obvious
fix, that lines beginning with --- or +++ are only to be suppressed
in the diff header. I also took the opportunity to replace a regexp
call with a couple of string compare calls, which should be faster.
Signed-off-by: Paul Mackerras <paulus@samba.org>
* master:
Merge branch 'sp/checkout'
Merge branch 'fd/asciidoc'
Allow format-patch to attach patches
Allow adding arbitary lines in the mail header generated by format-patch.
The --attach patch to git-format-patch to attach patches instead of
inlining them. Some mailers linewrap inlined patches (eg. Mozilla).
Signed-off-by: Junio C Hamano <junkio@cox.net>
Entries may be added to the config file as follows:
[format]
headers = "Organization: CodeWeavers\nTo: wine-patches
<wine-patches@winehq.org>\n"
Signed-off-by: Junio C Hamano <junkio@cox.net>
There was a misguided logic to overly prefer using objects that
we are not going to pack as the base object. This was
unnecessary. It does not matter to the unpacking side where the
base object is -- it matters more to make the resulting delta
smaller.
Signed-off-by: Junio C Hamano <junkio@cox.net>
The commit 604c86d15b changed the
original "diff -u0" to "diff -u -U 0" for portability.
A big mistake without proper testing.
The form "diff -u -U 0" shows the default 3-line contexts,
because -u and -U 0 contradicts with each other; "diff -U 0" (or
its longhand "diff --unified=0") is what we meant.
Signed-off-by: Junio C Hamano <junkio@cox.net>
* fd/asciidoc:
Tweak asciidoc output to work with broken docbook-xsl
annotate-blame test: add evil merge.
annotate-blame test: don't "source", but say "."
annotate/blame tests updates.
annotate: Support annotation of files on other revisions.
git/Documentation: fix SYNOPSIS style bugs
blame: avoid "diff -u0".
git-blame: Use the same tests for git-blame as for git-annotate
blame and annotate: show localtime with timezone.
blame: avoid -lm by not using log().
git-blame: Make the output human readable
get_revision(): do not dig deeper when we know we are at the end.
documentation: add 'see also' sections to git-rm and git-add
contrib/emacs/Makefile: Provide tool for byte-compiling files.
gitignore: Ignore some more boring things.
docbook-xsl v1.68 incorrectly converts "<screen>" from docbook to
manpage by not rendering it verbatim. v1.69 handles it correctly, but
not many current popular distributions ship with it.
asciidoc by default converts "listingblock" to "<screen>". This change
causes asciidoc in git to convert "listingblock" to "<literallayout>", which
both old and new docbook-xsl handle correctly.
The difference can be seen in any manpage which includes a multi-line
example, such as git-branch.
[jc: the original patch was an disaster for html backends, so I made
it apply only to docbook backends. ]
Signed-off-by: Junio C Hamano <junkio@cox.net>
Just I am old fashioned. Source inclusion in bourne shell is
"." (dot), not "source" -- that's csh.
[jc: yes I know bash groks it, but I am old fashioned.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
This rewrites the result check code a bit. The earlier one
using awk was splitting columns at any whitespace, which
confused lines attributed incorrectly to the merge made by the
default author "A U Thor <author@example.com>" with lines
attributed to author "A".
The latest test by Ryan to add the "starting from older commit"
test is also included, with another older commit test.
Signed-off-by: Junio C Hamano <junkio@cox.net>
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>
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>
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>
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>
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>
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>
... 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>
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>
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>
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
cfcbd3427ec436eb8cf1
(4) Checkout "master" and cauterize them with "ours" strategy:
$ git merge -s ours "`cat $this-file`" HEAD cfcbd3 c436eb
* 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.