Commit Graph

19574 Commits

Author SHA1 Message Date
Junio C Hamano
c2ca1d79db Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
It is not that uncommon to have mails with DOS line-ending, notably
Thunderbird and web mailers like Gmail (when saving what they call
"original" message).  So modify mailsplit to convert CRLF line-endings to
just LF.

Since git-rebase is built on top of git-am, add an option to mailsplit to
be used by git-am when it is acting on behalf of git-rebase, to refrain
from doing this conversion.

And add a test to make sure that rebase still works.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 12:14:00 -07:00
Brandon Casey
6a2d3f50f5 builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 12:13:58 -07:00
Brandon Casey
c8f373a5ce builtin-mailinfo,builtin-mailsplit: use strbufs
There should be no functional change.  Just the necessary changes and
simplifications associated with calling strbuf_getwholeline() rather
than an internal function or fgets.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 12:13:57 -07:00
Brandon Casey
c7e4f0d78a strbuf: add new function strbuf_getwholeline()
This function is just like strbuf_getline() except it retains the
line-termination character.  This function will be used by the mailinfo
and mailsplit builtins which require the entire line for parsing.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 12:13:56 -07:00
Giuseppe Bilotta
86c91f9179 git apply: option to ignore whitespace differences
Introduce --ignore-whitespace option and corresponding config bool to
ignore whitespace differences while applying patches, akin to the
'patch' program.

'git am', 'git rebase' and the bash git completion are made aware of
this option.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 11:59:56 -07:00
Michael J Gruber
f621a8454d git-merge-base/git-show-branch --merge-base: Documentation and test
Currently, the documentation suggests that 'git merge-base -a' and 'git
show-branch --merge-base' are equivalent (in fact it claims that the
former cannot handle more than two revs).

Alas, the handling of more than two revs is very different. Document
this by tests and correct the documentation to reflect this.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 10:29:37 -07:00
Michael J Gruber
995bdc73fe git-merge-base/git-show-branch: Cleanup documentation and usage
Make sure that usage strings and documentation coincide with each other
and with the actual code.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 10:28:05 -07:00
Michael J Gruber
30ca4ca7b2 t6010-merge-base.sh: Depict the octopus test graph
...so that it is easier to reuse it for other tests.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 10:26:41 -07:00
Matthieu Moy
e77095e8b8 Better usage string for reflog.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 09:45:00 -07:00
Junio C Hamano
26da1d7867 diff-index: keep the original index intact
When comparing the index and a tree, we used to read the contents of the
tree into stage #1 of the index and compared them with stage #0.  In order
not to lose sight of entries originally unmerged in the index, we hoisted
them to stage #3 before reading the tree.

Commit d1f2d7e (Make run_diff_index() use unpack_trees(), not read_tree(),
2008-01-19) changed all this.  These days, we instead use unpack_trees()
API to traverse the tree and compare the contents with the index, without
modifying the index at all.  There is no reason to hoist the unmerged
entries to stage #3 anymore.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 02:21:11 -07:00
Junio C Hamano
29796c6ccf diff-index: report unmerged new entries
Since an earlier change to diff-index by d1f2d7e (Make run_diff_index()
use unpack_trees(), not read_tree(), 2008-01-19), we stopped reporting an
unmerged path that does not exist in the tree, but we should.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-05 02:21:11 -07:00
Miklos Vajna
b0c051d1a0 hg-to-git: don't import the unused popen2 module
Importing the popen2 module in Python-2.6 results in the
"DeprecationWarning: The popen2 module is deprecated.  Use the
subprocess module." message. The module itself isn't used in fact, so
just removing it solves the problem.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-04 15:20:45 -07:00
Erik Faye-Lund
69931b7183 send-email: remove debug trace
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
2009-08-04 15:20:35 -07:00
David Soria Parra
5a7a3671b7 run-command.c: squelch a "use before assignment" warning
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490) compiler
(and probably others) mistakenly thinks variable failed_errno is used
before assigned.  Work it around by giving it a fake initialization.

Signed-off-by: David Soria Parra <dsp@php.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-04 10:04:29 -07:00
Giuseppe Bilotta
b7da721f02 gitweb: fix 'Use of uninitialized value' error in href()
Equality between file_parent and file_name was being checked without a
preliminary check for existence of the parameters.

Fix by wrapping the equality check in appropriate if (defined ...),
rearranging the lines to prevent excessive length.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-04 00:26:03 -07:00
Stephen Boyd
6639ffc2e0 technical-docs: document tree-walking API
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-03 22:42:14 -07:00
André Goddard Rosa
07a4a3b496 Fix typos on pt_BR/gittutorial.txt translation
With extra fixes from Thadeu and Carlos as well.

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 11:24:18 -07:00
Wesley J. Landaker
2da846e709 Documentation: git-send-email: correct statement about standard ports
The current documentation states that servers typically listen on port
465 and calls this "ssmtp". While it's true that many mail servers use
port 465 for SSL smtp, this is non-standard, and hails from the days
before smtp and submission TLS support, that arrived in RFC2487 and
RFC3207. Port 465 is actually assigned by IANA for unrelated purposes,
and is mostly still used by mail servers today only to support Outlook
Express.

In any case, this patch helps the documentation better reflect both
standards and reality, while still helpfully mentioning ports numbers
that a user may wish to specify.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 11:22:50 -07:00
Wesley J. Landaker
a4782b3d6e Documentation: git-send-email: fix submission port number
The current documentation confuses non-standard SSL smtp port 465 with
submission port 587 (RFC 4406). This patch just changes the referenced
number.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 08:39:07 -07:00
Björn Steinbrink
ebdaae372b config: Keep inner whitespace verbatim
Configuration values are expected to be quoted when they have leading or
trailing whitespace, but inner whitespace should be kept verbatim even if
the value is not quoted. This is already documented in git-config(1), but
the code caused inner whitespace to be collapsed to a single space,
breaking, for example, clones from a path that has two consecutive spaces
in it, as future fetches would only see a single space.

Reported-by: John te Bokkel <tanj.tanj@gmail.com>
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 08:38:30 -07:00
Geoffrey Irving
79559f27be git fast-export: add --no-data option
When using git fast-export and git fast-import to rewrite the history
of a repository with large binary files, almost all of the time is
spent dealing with blobs.  This is extremely inefficient if all we want
to do is rewrite the commits and tree structure.  --no-data skips the
output of blobs and writes SHA-1s instead of marks, which provides a
massive speedup.

Signed-off-by: Geoffrey Irving <irving@naml.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 07:48:09 -07:00
Johannes Schindelin
86b5efb286 parse-opt: optionally show "--no-" option string
It is usually better to have positive options, to avoid confusing double
negations.  However, sometimes it is desirable to show the negative option
in the help.

Introduce the flag PARSE_OPT_NEGHELP to do that.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-31 07:47:38 -07:00
Junio C Hamano
c94736a27f merge-recursive: don't segfault while handling rename clashes
When a branch moves A to B while the other branch created B (or moved C to
B), the code tried to rename one of them to B~something to preserve both
versions, and failed to register temporary resolution for the original
path B at stage#0 during virtual ancestor computation.  This left the
index in unmerged state and caused a segfault.

A better solution is to merge these two versions of B's in place and use
the (potentially conflicting) result as the intermediate merge result in
the virtual ancestor.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-30 19:25:05 -07:00
Linus Torvalds
b6986d8a75 git-checkout: be careful about untracked symlinks
This fixes the case where an untracked symlink that points at a directory
with tracked paths confuses the checkout logic, demostrated in t6035.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 20:24:28 -07:00
Kjetil Barvik
77716755cb lstat_cache: guard against full match of length of 'name' parameter
longest_path_match() in symlinks.c does exactly what it's name says,
but in some cases that match can be too long, since the
has_*_leading_path() functions assumes that the match will newer be as
long as the name string given to the function.

fix this by adding an extra if test which checks if the match length
is equal to the 'len' parameter.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 20:20:12 -07:00
Pickens, James E
4f6339b0c3 Demonstrate bugs when a directory is replaced with a symlink
This test creates two directories, a/b and a/b-2, then replaces a/b with
a symlink to a/b-2, then merges that change into the 'baseline' commit,
which contains an unrelated change.

There are two bugs:
1. 'git checkout' incorrectly deletes work tree file a/b-2/d.
2. 'git merge' incorrectly deletes work tree file a/b-2/d.

The test goes on to create another branch in which a/b-2 is replaced
with a symlink to a/b (i.e., the reverse of what was done the first
time), and merge it into the 'baseline' commit.

There is a different bug:
3. The merge should be clean, but git reports a conflict.

Signed-off-by: James Pickens <james.e.pickens@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 20:18:25 -07:00
Junio C Hamano
a0f4afbe87 clean: require double -f options to nuke nested git repository and work tree
When you have an embedded git work tree in your work tree (be it
an orphaned submodule, or an independent checkout of an unrelated
project), "git clean -d -f" blindly descended into it and removed
everything.  This is rarely what the user wants.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 12:22:30 -07:00
Thadeu Lima de Souza Cascardo
e658002005 Translate the tutorial to Brazillian Portuguese
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 12:19:43 -07:00
Junio C Hamano
133cfaeb8b request-pull: optionally show a patch as well
Allow git request-pull to append diff body into the pull request.

It's useful for small series of commits.

Tested-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 11:02:49 -07:00
Junio C Hamano
b65954d172 Merge branch 'hv/cvsps-tests'
* hv/cvsps-tests:
  t/t9600: remove exit after test_done
  cvsimport: extend testcase about patchset order to contain branches
  cvsimport: add test illustrating a bug in cvsps
  Add a test of "git cvsimport"'s handling of tags and branches
  Add some tests of git-cvsimport's handling of vendor branches
  Test contents of entire cvsimported "master" tree contents
  Use CVS's -f option if available (ignore user's ~/.cvsrc file)
  Start a library for cvsimport-related tests
2009-07-29 10:39:57 -07:00
Alex Riesen
1c9b2d3aa1 Add a reminder test case for a merge with F/D transition
The problem is that if a file was replaced with a directory containing
another file with the same content and mode, an attempt to merge it
with a branch descended from a commit before this F->D transition will
cause merge-recursive to break. It breaks even if there were no
conflicting changes on that other branch.

Originally reported by Anders Melchiorsen.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 10:26:10 -07:00
Junio C Hamano
6641575963 Start 1.6.5 cycle
The next major release will be 1.6.5, hopefully with a shorter cycle
than the 1.6.4 cycle.  After that in 1.7.0 we can make potentially
backward incompatible changes if necessary.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 09:33:29 -07:00
Junio C Hamano
0a53e9ddea GIT 1.6.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 00:32:42 -07:00
Junio C Hamano
441b40d833 Sync with 1.6.3.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-29 00:00:56 -07:00
Junio C Hamano
e276f018f2 GIT 1.6.3.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-28 23:59:30 -07:00
Stephen Boyd
5c6d8bb290 config.txt: document add.ignore-errors
Use the description of "--ignore-errors" from git-add.txt as
inspiration.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-28 23:56:01 -07:00
Tom Grennan
33016c4913 request-pull: allow ls-remote to notice remote.$nickname.uploadpack
The location to pull from should be converted from the configured nickname
to URL in the message, but ls-remote should be fed the nickname so that
the command uses remote.$nickname.* variables, most notably "uploadpack".

Signed-off-by: Tom Grennan <tgrennan@redback.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-28 23:31:38 -07:00
David Kågedal
f552e51ef9 Update the documentation of the raw diff output format
This includes mentioning the initial hash output of diff-tree, and
changes the header to "raw output format" which is more descriptive.

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-28 13:32:59 -07:00
Michael J Gruber
02944cc492 git-rerere.txt: Clarify ambiguity of the config variable
Use the less ambiguous
"set variable foo in order to enable bar"
rather than
"set variable foo to enable bar" which may trick users into
assuming that "enable" is a good value for "foo".

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-28 13:30:42 -07:00
Eric Wong
df73af5f66 t9143: do not fail if Compress::Zlib is missing
"git svn gc" will not compress unhandled.log files if
Compress::Zlib is missing.  However, leftover index files should
always be removed, so add a test for this behavior as well.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-26 11:51:45 -07:00
Sean Estabrooks
e24c76bf09 Trivial path quoting fixes in git-instaweb
Bodo Schlecht noticed that Instaweb didn't propely quote all
path instances in the Apache config file it generated.

Acked-by: Eric Wong <normalperson@yhbt.net>

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-26 11:27:27 -07:00
Junio C Hamano
d1926f63ec Merge branch 'gp/maint-rebase-p-onto'
* gp/maint-rebase-p-onto:
  Fix rebase -p --onto
2009-07-26 11:24:13 -07:00
Junio C Hamano
feab68cd91 Merge branch 'en/fast-export'
* en/fast-export:
  fast-export: Document the fact that git-rev-list arguments are accepted
  Add new fast-export testcases
  fast-export: Add a --tag-of-filtered-object option for newly dangling tags
  fast-export: Do parent rewriting to avoid dropping relevant commits
  fast-export: Make sure we show actual ref names instead of "(null)"
  fast-export: Omit tags that tag trees
  fast-export: Set revs.topo_order before calling setup_revisions
2009-07-26 11:23:52 -07:00
Junio C Hamano
d8f7be2ebc GIT 1.6.4-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-26 00:05:34 -07:00
Nanako Shiraishi
2ceb639f93 Documentation/config.txt: a variable can be defined on the section header line
Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-25 23:58:29 -07:00
Junio C Hamano
ae71760d24 Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
  git svn: make minimize URL more reliable over http(s)
  git svn: avoid escaping '/' when renaming/copying files
  t9142: stop httpd after the test
  git svn: the branch command no longer needs the full path
  git svn: revert default behavior for --minimize-url
  git svn: add gc command
2009-07-25 22:54:03 -07:00
Eric Wong
5f8b2cbacd git svn: make minimize URL more reliable over http(s)
In addition to path-based restrictions, Subversion servers over
http(s) may have access controls implemented via the LimitExcept
directive in Apache.  In some cases, LimitExcept may be
(arguably) misconfigured to not allow REPORT requests while
allowing OPTIONS and PROPFIND.

This caused problems with our existing minimize_url logic that
only issued OPTIONS and PROPFIND requests when connecting and
using SVN::Ra::get_latest_revnum.  We now call SVN::Ra::get_log
if get_latest_revnum succeeds, resulting in a REPORT request
being sent.  This will increase our chances of tripping access
controls before we start attempting to fetch history.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-07-25 13:37:02 -07:00
Thomas Rast
71c020c53e Disable asciidoc 8.4.1+ semantics for {plus} and friends
asciidoc 8.4.1 changed the semantics of inline backtick quoting so
that they disable parsing of inline constructs, i.e.,

  Input:	`{plus}`
  Pre 8.4.1:	+
  Post 8.4.1:	{plus}

Fix this by defining the asciidoc attribute 'no-inline-literal'
(which, per the 8.4.1 changelog, is the toggle to return to the old
behaviour) when under ASCIIDOC8.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-07-25 10:07:06 -07:00
Eric Wong
884cce5bd0 git svn: avoid escaping '/' when renaming/copying files
Timothy Schaeffer reported the following:
> Git-svn has been giving me the following error for some time
> when calling "git svn dcommit":
>
> RA layer request failed: PROPFIND request failed on
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': PROPFIND of
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': 302 Found
> (https://oursvnrepo.net) at /usr/local/libexec/git-core/git-svn line 508
>
> This only occurred when git detected a rename or copy.
>
> Following the lead into git-svn.perl,
> and noticing that some of the '/'s in the path were hex-encoded
> and some were not,
> I changed the regex used to find chars
> to hex-encode in the relative part of the path
> to exclude '/'.
> It works, so far.
> I have included a patch.

While this has previous not been a problem in my experience,
newer versions of SVN may be stricter and this does not
introduce regressions in t9115.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-07-25 04:09:44 -07:00
Eric Wong
5af9b77b55 t9142: stop httpd after the test
Otherwise it would fail in subsequent runs if the same
SVN_HTTPD_PORT was used.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-07-25 04:09:44 -07:00