mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
Sync with 1.6.5.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
commit
3880c18336
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -8,3 +8,4 @@ gitman.info
|
||||
howto-index.txt
|
||||
doc.dep
|
||||
cmds-*.txt
|
||||
manpage-base-url.xsl
|
||||
|
@ -105,18 +105,15 @@ XMLTO_EXTRA += -m manpage-suppress-sp.xsl
|
||||
endif
|
||||
|
||||
# Newer DocBook stylesheet emits warning cruft in the output when
|
||||
# this is not set, and if set it shows an absolute link. We can
|
||||
# use MAN_BASE_URL=http://www.kernel.org/pub/software/scm/git/docs/
|
||||
# but distros may want to set it to /usr/share/doc/git-core/docs/ or
|
||||
# something like that.
|
||||
# this is not set, and if set it shows an absolute link. Older
|
||||
# stylesheets simply ignore this parameter.
|
||||
#
|
||||
# As older stylesheets simply ignore this parameter, it ought to be
|
||||
# safe to set it to empty string when the base URL is not specified,
|
||||
# but unfortunately we cannot do so unconditionally because at least
|
||||
# xmlto 0.0.18 is reported to lack --stringparam option.
|
||||
ifdef MAN_BASE_URL
|
||||
XMLTO_EXTRA += --stringparam man.base.url.for.relative.links=$(MAN_BASE_URL)
|
||||
# Distros may want to use MAN_BASE_URL=file:///path/to/git/docs/
|
||||
# or similar.
|
||||
ifndef MAN_BASE_URL
|
||||
MAN_BASE_URL = file://$(htmldir)/
|
||||
endif
|
||||
XMLTO_EXTRA += -m manpage-base-url.xsl
|
||||
|
||||
# If your target system uses GNU groff, it may try to render
|
||||
# apostrophes as a "pretty" apostrophe using unicode. This breaks
|
||||
@ -245,6 +242,7 @@ clean:
|
||||
$(RM) howto-index.txt howto/*.html doc.dep
|
||||
$(RM) technical/api-*.html technical/api-index.txt
|
||||
$(RM) $(cmds_txt) *.made
|
||||
$(RM) manpage-base-url.xsl
|
||||
|
||||
$(MAN_HTML): %.html : %.txt
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
@ -252,7 +250,10 @@ $(MAN_HTML): %.html : %.txt
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
%.1 %.5 %.7 : %.xml
|
||||
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||
sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
||||
|
||||
%.1 %.5 %.7 : %.xml manpage-base-url.xsl
|
||||
$(QUIET_XMLTO)$(RM) $@ && \
|
||||
xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
|
||||
|
@ -18,6 +18,9 @@ Fixes since v1.6.5.4
|
||||
twice, and held onto memory after it has used the data in it
|
||||
unnecessarily before it freed.
|
||||
|
||||
* "git diff -B" and "git diff --dirstat" was not counting newly added
|
||||
contents correctly.
|
||||
|
||||
* "git format-patch revisions... -- path" issued an incorrect error
|
||||
message that suggested to use "--" on the command line when path
|
||||
does not exist in the current work tree (it is a separate matter if
|
||||
@ -39,6 +42,8 @@ Fixes since v1.6.5.4
|
||||
* "git rebase" got confused when the log message began with certain
|
||||
strings that looked like Subject:, Date: or From: header.
|
||||
|
||||
Other minor documentation updates are included.
|
||||
* "git reset" accidentally run in .git/ directory checked out the
|
||||
work tree contents in there.
|
||||
|
||||
v1.6.5.4-47-gdda8f4b
|
||||
|
||||
Other minor documentation updates are included.
|
||||
|
@ -74,8 +74,9 @@ OPTIONS
|
||||
The tree or commit to produce an archive for.
|
||||
|
||||
path::
|
||||
If one or more paths are specified, include only these in the
|
||||
archive, otherwise include all files and subdirectories.
|
||||
Without an optional path parameter, all files and subdirectories
|
||||
of the current working directory are included in the archive.
|
||||
If one or more paths are specified, only these are included.
|
||||
|
||||
BACKEND EXTRA OPTIONS
|
||||
---------------------
|
||||
|
@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master'
|
||||
branch of the `git.git` repository.
|
||||
Documentation for older releases are available here:
|
||||
|
||||
* link:v1.6.5.4/git.html[documentation for release 1.6.5.4]
|
||||
* link:v1.6.5.5/git.html[documentation for release 1.6.5.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes-1.6.5.5.txt[1.6.5.5],
|
||||
link:RelNotes-1.6.5.4.txt[1.6.5.4],
|
||||
link:RelNotes-1.6.5.3.txt[1.6.5.3],
|
||||
link:RelNotes-1.6.5.2.txt[1.6.5.2],
|
||||
|
10
Documentation/manpage-base-url.xsl.in
Normal file
10
Documentation/manpage-base-url.xsl.in
Normal file
@ -0,0 +1,10 @@
|
||||
<!-- manpage-base-url.xsl:
|
||||
special settings for manpages rendered from newer docbook -->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<!-- set a base URL for relative links -->
|
||||
<xsl:param name="man.base.url.for.relative.links"
|
||||
>@@MAN_BASE_URL@@</xsl:param>
|
||||
|
||||
</xsl:stylesheet>
|
@ -48,6 +48,8 @@ static void garbage_collect(struct string_list *rr)
|
||||
|
||||
git_config(git_rerere_gc_config, NULL);
|
||||
dir = opendir(git_path("rr-cache"));
|
||||
if (!dir)
|
||||
die_errno("unable to open rr-cache directory");
|
||||
while ((e = readdir(dir))) {
|
||||
if (is_dot_or_dotdot(e->d_name))
|
||||
continue;
|
||||
|
@ -286,8 +286,10 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
|
||||
if (reset_type == NONE)
|
||||
reset_type = MIXED; /* by default */
|
||||
|
||||
if (reset_type == HARD && is_bare_repository())
|
||||
die("hard reset makes no sense in a bare repository");
|
||||
if ((reset_type == HARD || reset_type == MERGE)
|
||||
&& !is_inside_work_tree())
|
||||
die("%s reset requires a work tree",
|
||||
reset_type_names[reset_type]);
|
||||
|
||||
/* Soft reset does not touch the index file nor the working tree
|
||||
* at all, but requires them in a good order. Other resets reset
|
||||
|
@ -201,10 +201,15 @@ int diffcore_count_changes(struct diff_filespec *src,
|
||||
while (d->cnt) {
|
||||
if (d->hashval >= s->hashval)
|
||||
break;
|
||||
la += d->cnt;
|
||||
d++;
|
||||
}
|
||||
src_cnt = s->cnt;
|
||||
dst_cnt = d->hashval == s->hashval ? d->cnt : 0;
|
||||
dst_cnt = 0;
|
||||
if (d->cnt && d->hashval == s->hashval) {
|
||||
dst_cnt = d->cnt;
|
||||
d++;
|
||||
}
|
||||
if (src_cnt < dst_cnt) {
|
||||
la += dst_cnt - src_cnt;
|
||||
sc += src_cnt;
|
||||
@ -213,6 +218,10 @@ int diffcore_count_changes(struct diff_filespec *src,
|
||||
sc += dst_cnt;
|
||||
s++;
|
||||
}
|
||||
while (d->cnt) {
|
||||
la += d->cnt;
|
||||
d++;
|
||||
}
|
||||
|
||||
if (!src_count_p)
|
||||
free(src_count);
|
||||
|
@ -11,16 +11,42 @@ test_expect_success 'setup non-bare' '
|
||||
git commit -a -m two
|
||||
'
|
||||
|
||||
test_expect_success 'hard reset requires a worktree' '
|
||||
(cd .git &&
|
||||
test_must_fail git reset --hard)
|
||||
'
|
||||
|
||||
test_expect_success 'merge reset requires a worktree' '
|
||||
(cd .git &&
|
||||
test_must_fail git reset --merge)
|
||||
'
|
||||
|
||||
test_expect_success 'mixed reset is ok' '
|
||||
(cd .git && git reset)
|
||||
'
|
||||
|
||||
test_expect_success 'soft reset is ok' '
|
||||
(cd .git && git reset --soft)
|
||||
'
|
||||
|
||||
test_expect_success 'setup bare' '
|
||||
git clone --bare . bare.git &&
|
||||
cd bare.git
|
||||
'
|
||||
|
||||
test_expect_success 'hard reset is not allowed' '
|
||||
test_must_fail git reset --hard HEAD^
|
||||
test_expect_success 'hard reset is not allowed in bare' '
|
||||
test_must_fail git reset --hard HEAD^
|
||||
'
|
||||
|
||||
test_expect_success 'soft reset is allowed' '
|
||||
test_expect_success 'merge reset is not allowed in bare' '
|
||||
test_must_fail git reset --merge HEAD^
|
||||
'
|
||||
|
||||
test_expect_success 'mixed reset is not allowed in bare' '
|
||||
test_must_fail git reset --mixed HEAD^
|
||||
'
|
||||
|
||||
test_expect_success 'soft reset is allowed in bare' '
|
||||
git reset --soft HEAD^ &&
|
||||
test "`git show --pretty=format:%s | head -n 1`" = "one"
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user