Merge tag 'l10n-2.7.0-rnd2' of git://github.com/git-l10n/git-po
authorJunio C Hamano <gitster@pobox.com>
Mon, 28 Dec 2015 21:53:47 +0000 (13:53 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Dec 2015 21:53:47 +0000 (13:53 -0800)
l10n-2.7.0-rnd2

* tag 'l10n-2.7.0-rnd2' of git://github.com/git-l10n/git-po:
l10n: ru.po: update Russian translation
l10n: Updated Bulgarian translation of git (2477t,0f,0u)
l10n: ca.po: update translation
l10n: zh_CN: for git v2.7.0 l10n round 2
l10n: sv.po: Update Swedish translation (2477t0f0u)
l10n: sv: Fix bad translation
l10n: fr.po v2.7.0 round 2 (2477t)
l10n: git.pot: v2.7.0 round 2 (2 new, 2 removed)
l10n: zh_CN: for git v2.7.0 l10n round 1
l10n: ca.po: update translation
l10n: fr v2.7.0 round 1 (2477t)
l10n: Updated Bulgarian translation of git (2477t,0f,0u)
l10n: sv.po: Update Swedish translation (2477t0f0u)
l10n: vi.po: Updated translation (2477t)
l10n: git.pot: v2.7.0 round 1 (66 new, 29 removed)
l10n: fr.po: Fix typo
l10n: fr.po: Fix typo

Documentation/RelNotes/2.7.0.txt
GIT-VERSION-GEN
builtin/push.c
compat/mingw.c
compat/mingw.h
index 215528b4b85eb2c49d1d1d08d8bf2eb2358b1fdc..dbc3fea7faae1f61b476d6983f1431b404506e06 100644 (file)
@@ -171,6 +171,9 @@ Performance, Internal Implementation, Development Support etc.
    git/git (including build-status for pull requests that people
    open).
 
+ * The write(2) emulation for Windows learned to set errno to EPIPE
+   when necessary.
+
 
 Also contains various documentation updates and code clean-ups.
 
index 4478007b0178807c6113066cc709630770ca199a..904265b2c1add2aa9d974a18e8a63ab13038c070 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v2.7.0-rc1
+DEF_VER=v2.7.0-rc2
 
 LF='
 '
index cc29277ea2351c068b2e93d4bef5f2e279052854..8963dbdf3da816bba595f7c4fcfdfd8bcdcd8670 100644 (file)
@@ -547,7 +547,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
                  0, CAS_OPT_NAME, &cas, N_("refname>:<expect"),
                  N_("require old value of ref to be at this value"),
                  PARSE_OPT_OPTARG, parseopt_push_cas_option },
-               { OPTION_CALLBACK, 0, "recurse-submodules", &recurse_submodules, N_("check|on-demand|no"),
+               { OPTION_CALLBACK, 0, "recurse-submodules", &recurse_submodules, "check|on-demand|no",
                        N_("control recursive pushing of submodules"),
                        PARSE_OPT_OPTARG, option_parse_recurse_submodules },
                OPT_BOOL( 0 , "thin", &thin, N_("use thin pack")),
index 90bdb1edde15ccd39055c376f5d920c29af013c0..5edea29508d06fdc2daea540edadffdebd54173e 100644 (file)
@@ -394,6 +394,23 @@ int mingw_fflush(FILE *stream)
        return ret;
 }
 
+#undef write
+ssize_t mingw_write(int fd, const void *buf, size_t len)
+{
+       ssize_t result = write(fd, buf, len);
+
+       if (result < 0 && errno == EINVAL && buf) {
+               /* check if fd is a pipe */
+               HANDLE h = (HANDLE) _get_osfhandle(fd);
+               if (GetFileType(h) == FILE_TYPE_PIPE)
+                       errno = EPIPE;
+               else
+                       errno = EINVAL;
+       }
+
+       return result;
+}
+
 int mingw_access(const char *filename, int mode)
 {
        wchar_t wfilename[MAX_PATH];
index 738865c6c068ed7d8849aff5a9b533dfb1ef8bab..57ca477d1f100a7ddb1cc9cb693d050e32ae0eb0 100644 (file)
@@ -210,6 +210,9 @@ FILE *mingw_freopen (const char *filename, const char *otype, FILE *stream);
 int mingw_fflush(FILE *stream);
 #define fflush mingw_fflush
 
+ssize_t mingw_write(int fd, const void *buf, size_t len);
+#define write mingw_write
+
 int mingw_access(const char *filename, int mode);
 #undef access
 #define access mingw_access