зеркало из https://github.com/microsoft/git.git
Merge branch 'maint' to sync with GIT 1.5.2.2
This commit is contained in:
Коммит
5bd148bfe8
|
@ -157,7 +157,7 @@ common-cmds.h
|
|||
*.tar.gz
|
||||
*.dsc
|
||||
*.deb
|
||||
git-core.spec
|
||||
git.spec
|
||||
*.exe
|
||||
*.[aos]
|
||||
*.py[co]
|
||||
|
|
|
@ -37,6 +37,9 @@ man7dir=$(mandir)/man7
|
|||
|
||||
ASCIIDOC=asciidoc
|
||||
ASCIIDOC_EXTRA =
|
||||
ifdef ASCIIDOC8
|
||||
ASCIIDOC_EXTRA += -a asciidoc7compatible
|
||||
endif
|
||||
INSTALL?=install
|
||||
DOC_REF = origin/man
|
||||
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
GIT v1.5.2.2 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.5.2.1
|
||||
--------------------
|
||||
|
||||
* Usability fix
|
||||
|
||||
- git-gui is shipped with its updated blame interface. It is
|
||||
rumored that the older one was not just unusable but was
|
||||
active health hazard, but this one is actually pretty.
|
||||
Please see for yourself.
|
||||
|
||||
* Bugfixes
|
||||
|
||||
- "git checkout fubar" was utterly confused when there is a
|
||||
branch fubar and a tag fubar at the same time. It correctly
|
||||
checks out the branch fubar now.
|
||||
|
||||
- "git clone /path/foo" to clone a local /path/foo.git
|
||||
repository left an incorrect configuration.
|
||||
|
||||
- "git send-email" correctly unquotes RFC 2047 quoted names in
|
||||
the patch-email before using their values.
|
||||
|
||||
- We did not accept number of seconds since epoch older than
|
||||
year 2000 as a valid timestamp. We now interpret positive
|
||||
integers more than 8 digits as such, which allows us to
|
||||
express timestamps more recent than March 1973.
|
||||
|
||||
- git-cvsimport did not work when you have GIT_DIR to point
|
||||
your repository at a nonstandard location.
|
||||
|
||||
- Some systems (notably, Solaris) lack hstrerror() to make
|
||||
h_errno human readable; prepare a replacement
|
||||
implementation.
|
||||
|
||||
- .gitignore file listed git-core.spec but what we generate is
|
||||
git.spec, and nobody noticed for a long time.
|
||||
|
||||
- "git-merge-recursive" does not try to run file level merge
|
||||
on binary files.
|
||||
|
||||
- "git-branch --track" did not create tracking configuration
|
||||
correctly when the branch name had slash in it.
|
||||
|
||||
- The email address of the user specified with user.email
|
||||
configuration was overriden by EMAIL environment variable.
|
||||
|
||||
- The tree parser did not warn about tree entries with
|
||||
nonsense file modes, and assumed they must be blobs.
|
||||
|
||||
- "git log -z" without any other request to generate diff still
|
||||
invoked the diff machinery, wasting cycles.
|
||||
|
||||
* Documentation
|
||||
|
||||
- Many updates to fix stale or missing documentation.
|
||||
|
||||
- Although our documentation was primarily meant to be formatted
|
||||
with AsciiDoc7, formatting with AsciiDoc8 is supported better.
|
|
@ -8,7 +8,8 @@
|
|||
# the command.
|
||||
|
||||
[attributes]
|
||||
caret=^
|
||||
plus=+
|
||||
caret=^
|
||||
startsb=[
|
||||
endsb=]
|
||||
tilde=~
|
||||
|
|
|
@ -76,7 +76,7 @@ $ git-cvsexportcommit -v <commit-sha1>
|
|||
$ cvs commit -F .mgs <files>
|
||||
------------
|
||||
|
||||
Merge pending patches into CVS automatically -- only if you really know what you are doing ::
|
||||
Merge pending patches into CVS automatically -- only if you really know what you are doing::
|
||||
+
|
||||
------------
|
||||
$ export GIT_DIR=~/project/.git
|
||||
|
|
|
@ -2757,8 +2757,8 @@ As a result, the general consistency of an object can always be tested
|
|||
independently of the contents or the type of the object: all objects can
|
||||
be validated by verifying that (a) their hashes match the content of the
|
||||
file and (b) the object successfully inflates to a stream of bytes that
|
||||
forms a sequence of <ascii type without space> + <space> + <ascii decimal
|
||||
size> + <byte\0> + <binary object data>.
|
||||
forms a sequence of <ascii type without space> {plus} <space> {plus} <ascii decimal
|
||||
size> {plus} <byte\0> {plus} <binary object data>.
|
||||
|
||||
The structured objects can further have their structure and
|
||||
connectivity to other objects verified. This is generally done with
|
||||
|
|
11
Makefile
11
Makefile
|
@ -107,6 +107,8 @@ all::
|
|||
# Define USE_STDEV below if you want git to care about the underlying device
|
||||
# change being considered an inode change from the update-cache perspective.
|
||||
#
|
||||
# Define ASCIIDOC8 if you want to format documentation with AsciiDoc 8
|
||||
#
|
||||
# Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
|
||||
# MakeMaker (e.g. using ActiveState under Cygwin).
|
||||
#
|
||||
|
@ -410,6 +412,7 @@ ifeq ($(uname_S),SunOS)
|
|||
NEEDS_NSL = YesPlease
|
||||
SHELL_PATH = /bin/bash
|
||||
NO_STRCASESTR = YesPlease
|
||||
NO_HSTRERROR = YesPlease
|
||||
ifeq ($(uname_R),5.8)
|
||||
NEEDS_LIBICONV = YesPlease
|
||||
NO_UNSETENV = YesPlease
|
||||
|
@ -654,6 +657,10 @@ endif
|
|||
ifdef NO_PERL_MAKEMAKER
|
||||
export NO_PERL_MAKEMAKER
|
||||
endif
|
||||
ifdef NO_HSTRERROR
|
||||
COMPAT_CFLAGS += -DNO_HSTRERROR
|
||||
COMPAT_OBJS += compat/hstrerror.o
|
||||
endif
|
||||
|
||||
ifeq ($(TCLTK_PATH),)
|
||||
NO_TCLTK=NoThanks
|
||||
|
@ -684,6 +691,10 @@ ifndef V
|
|||
endif
|
||||
endif
|
||||
|
||||
ifdef ASCIIDOC8
|
||||
export ASCIIDOC8
|
||||
endif
|
||||
|
||||
# Shell quote (do not use $(call) to accommodate ancient setups);
|
||||
|
||||
SHA1_HEADER_SQ = $(subst ','\'',$(SHA1_HEADER))
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
|
||||
const char *githstrerror(int err)
|
||||
{
|
||||
static char buffer[48];
|
||||
switch (err)
|
||||
{
|
||||
case HOST_NOT_FOUND:
|
||||
return "Authoritative answer: host not found";
|
||||
case NO_DATA:
|
||||
return "Valid name, no data record of requested type";
|
||||
case NO_RECOVERY:
|
||||
return "Non recoverable errors, FORMERR, REFUSED, NOTIMP";
|
||||
case TRY_AGAIN:
|
||||
return "Non-authoritative \"host not found\", or SERVERFAIL";
|
||||
}
|
||||
sprintf(buffer, "Name resolution error %d", err);
|
||||
return buffer;
|
||||
}
|
|
@ -167,6 +167,11 @@ extern size_t gitstrlcpy(char *, const char *, size_t);
|
|||
extern uintmax_t gitstrtoumax(const char *, char **, int);
|
||||
#endif
|
||||
|
||||
#ifdef NO_HSTRERROR
|
||||
#define hstrerror githstrerror
|
||||
extern const char *githstrerror(int herror);
|
||||
#endif
|
||||
|
||||
extern void release_pack_memory(size_t, int);
|
||||
|
||||
static inline char* xstrdup(const char *str)
|
||||
|
|
|
@ -1180,7 +1180,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
|
|||
|
||||
opts = diff_opt_parse(&revs->diffopt, argv+i, argc-i);
|
||||
if (opts > 0) {
|
||||
revs->diff = 1;
|
||||
if (strcmp(argv[i], "-z"))
|
||||
revs->diff = 1;
|
||||
i += opts - 1;
|
||||
continue;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче