[PATCH 7/7] only textconv regular files
- From
Jeff King <peff@peff.net>
- Date
- Oct 25, 2008, 00:55 UTC
- Message-ID
- <20081025005530.GG23903@coredump.intra.peff.net>
- In-Reply-To
- <20081025004815.GA23851@coredump.intra.peff.net>
We treat symlinks as text containing the results of the symlink, so it doesn't make much sense to text-convert them.
Similarly gitlink components just end up as the text "Subproject commit $sha1", which we should leave intact.
Note that a typechange may be broken into two parts: the removal of the old part and the addition of the new. In that case, we _do_ show the textconv for any part which is the addition or removal of a file we would ordinarily textconv, since it is purely acting on the file contents.
Signed-off-by: Jeff King <peff@peff.net> --- Similar to before, except we already have the expect_failure test now.
diff.c | 2 ++ t/t4030-diff-textconv.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/diff.c b/diff.c index e3bb1ed..a87ce97 100644 --- a/diff.c +++ b/diff.c @@ -282,6 +282,8 @@ static const char *get_textconv(struct diff_filespec *one) { if (!DIFF_FILE_VALID(one)) return NULL; + if (!S_ISREG(one->mode)) + return NULL; diff_filespec_load_driver(one); return one->driver->textconv; } diff --git a/t/t4030-diff-textconv.sh b/t/t4030-diff-textconv.sh index 1df48ae..3945731 100755 --- a/t/t4030-diff-textconv.sh +++ b/t/t4030-diff-textconv.sh @@ -104,7 +104,7 @@ index ad8b3d2..67be421 \ No newline at end of file EOF # make a symlink the hard way that works on symlink-challenged file systems -test_expect_failure 'textconv does not act on symlinks' ' +test_expect_success 'textconv does not act on symlinks' ' echo -n frotz > file && git add file && git ls-files -s | sed -e s/100644/120000/ |
-- 1.6.0.3.523.g38597.dirty