{"thread":{"id":"9525","subject":"[PATCH 1/2] Introduces xmkstemp()","startedAt":"2007-08-14T19:44:53Z","lastAt":"2007-08-31T16:57:26Z","messageCount":13,"participants":["Luiz Fernando N. Capitulino","Carlos Rica","Marius Storm-Olsen","Johannes Sixt","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"50722","messageId":"20070814164453.400b9c55@localhost","threadId":"9525","inReplyTo":null,"subject":"[PATCH 1/2] Introduces xmkstemp()","fromName":"Luiz Fernando N. Capitulino","fromEmail":"lcapitulino@mandriva.com.br","sentAt":"2007-08-14T19:44:53Z","receivedAt":"2007-08-14T19:44:53Z","isPatch":true,"sender":{"key":"lcapitulino@mandriva.com.br","avatar":null},"body":"\nThis is a wrapper for mkstemp() that performs error checking and\ncalls die() when an error occur.\n\nSigned-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>\n---\n git-compat-util.h |   10 ++++++++++\n 1 files changed, 10 insertions(+), 0 deletions(-)\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex 362e040..ca0a597 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -303,6 +303,16 @@ static inline FILE *xfdopen(int fd, const char *mode)\n \treturn stream;\n }\n \n+static inline int xmkstemp(char *template)\n+{\n+\tint fd;\n+\n+\tfd = mkstemp(template);\n+\tif (fd < 0)\n+\t\tdie(\"Unable to create temporary file: %s\", strerror(errno));\n+\treturn fd;\n+}\n+\n static inline size_t xsize_t(off_t len)\n {\n \treturn (size_t)len;\n-- \n1.5.3.GIT\n\n\n\n-- \nLuiz Fernando N. Capitulino\n"},{"id":"50782","messageId":"1b46aba20708150811o3a6fa14ew72e925c93d158ec4@mail.gmail.com","threadId":"9525","inReplyTo":"20070814164453.400b9c55@localhost","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Carlos Rica","fromEmail":"jasampler@gmail.com","sentAt":"2007-08-15T15:11:02Z","receivedAt":"2007-08-15T15:11:02Z","isPatch":true,"sender":{"key":"jasampler@gmail.com","avatar":null},"body":"Hi Luiz:\n\n2007/8/14, Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>:\n>\n> This is a wrapper for mkstemp() that performs error checking and\n> calls die() when an error occur.\n\nI think that it is related with the git_mkstemp() function in path.c.\nPerhaps we should use xmkstemp inside that function too, since\nit is only used in diff.c and after the call it also dies when fd<0.\n\n--Carlos\n"},{"id":"50788","messageId":"20070815131704.6cb76dbe@localhost","threadId":"9525","inReplyTo":"1b46aba20708150811o3a6fa14ew72e925c93d158ec4@mail.gmail.com","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Luiz Fernando N. Capitulino","fromEmail":"lcapitulino@mandriva.com.br","sentAt":"2007-08-15T16:17:04Z","receivedAt":"2007-08-15T16:17:04Z","isPatch":true,"sender":{"key":"lcapitulino@mandriva.com.br","avatar":null},"body":"\n Hi Carlos,\n\nEm Wed, 15 Aug 2007 17:11:02 +0200\n\"Carlos Rica\" <jasampler@gmail.com> escreveu:\n\n| 2007/8/14, Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>:\n| >\n| > This is a wrapper for mkstemp() that performs error checking and\n| > calls die() when an error occur.\n| \n| I think that it is related with the git_mkstemp() function in path.c.\n\n Yeah, you right.\n\n| Perhaps we should use xmkstemp inside that function too, since\n| it is only used in diff.c and after the call it also dies when fd<0.\n\n Actually, git_mkstemp() is also called by your builtin-verify-tag.c\nprogram and the function which calls it (run_gpg_verify()) doesn't\ndie() on error.\n\n This series is not supposed to change programs/design behaivor,\nhence I've chosen to not port the calls which doesn't explicit die\non error.\n\n But feel free to go ahead and port the others. ;)\n\n-- \nLuiz Fernando N. Capitulino\n"},{"id":"50794","messageId":"1b46aba20708150947g395895dfw5adf0aa308839321@mail.gmail.com","threadId":"9525","inReplyTo":"20070815131704.6cb76dbe@localhost","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Carlos Rica","fromEmail":"jasampler@gmail.com","sentAt":"2007-08-15T16:47:58Z","receivedAt":"2007-08-15T16:47:58Z","isPatch":true,"sender":{"key":"jasampler@gmail.com","avatar":null},"body":"2007/8/15, Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>:\n>\n>  Hi Carlos,\n>\n> Em Wed, 15 Aug 2007 17:11:02 +0200\n> \"Carlos Rica\" <jasampler@gmail.com> escreveu:\n>\n> | 2007/8/14, Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>:\n> | >\n> | > This is a wrapper for mkstemp() that performs error checking and\n> | > calls die() when an error occur.\n> |\n> | I think that it is related with the git_mkstemp() function in path.c.\n>\n>  Yeah, you right.\n>\n> | Perhaps we should use xmkstemp inside that function too, since\n> | it is only used in diff.c and after the call it also dies when fd<0.\n>\n>  Actually, git_mkstemp() is also called by your builtin-verify-tag.c\n> program and the function which calls it (run_gpg_verify()) doesn't\n> die() on error.\n\nOh, yeah, I had an old version here. I even don't know if there is need\nfor verifying more than one tag in one command. When more than\none tag is verified, the return value says nothing about what tag or\ntags failed, it is just the same as it would be if the program exited\non the first not verifiable tag, so perhaps it could do that.\n"},{"id":"52003","messageId":"46D7D0F7.1050302@trolltech.com","threadId":"9525","inReplyTo":"20070814164453.400b9c55@localhost","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Marius Storm-Olsen","fromEmail":"marius@trolltech.com","sentAt":"2007-08-31T08:27:35Z","receivedAt":"2007-08-31T08:27:35Z","isPatch":true,"sender":{"key":"marius@trolltech.com","avatar":"https://gravatar.com/avatar/a40071d8f651862c6ab10bd7996f0ad84d94f06c0399de9e3fa4f06beb390a71?d=mp&s=160"},"body":"Luiz Fernando N. Capitulino said the following on 14.08.2007 21:44:\n> This is a wrapper for mkstemp() that performs error checking and\n> calls die() when an error occur.\n> \n> Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>\n> ---\n>  git-compat-util.h |   10 ++++++++++\n>  1 files changed, 10 insertions(+), 0 deletions(-)\n> \n> diff --git a/git-compat-util.h b/git-compat-util.h\n> index 362e040..ca0a597 100644\n> --- a/git-compat-util.h\n> +++ b/git-compat-util.h\n> @@ -303,6 +303,16 @@ static inline FILE *xfdopen(int fd, const char *mode)\n>  \treturn stream;\n>  }\n>  \n> +static inline int xmkstemp(char *template)\n> +{\n> +\tint fd;\n> +\n> +\tfd = mkstemp(template);\n> +\tif (fd < 0)\n> +\t\tdie(\"Unable to create temporary file: %s\", strerror(errno));\n> +\treturn fd;\n> +}\n> +\n>  static inline size_t xsize_t(off_t len)\n>  {\n>  \treturn (size_t)len;\n\nThis functions needs to be further down in the file for\nMinGW builds, since mkstemp() is forward declared later\nin the file. So, something like this:\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex 9e075b7..f9ba8b0 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -477,4 +477,14 @@ extern __attribute__((noreturn)) int git_exit(int code);\n\n #endif /* __MINGW32__ */\n\n+static inline int xmkstemp(char *template)\n+{\n+       int fd;\n+\n+       fd = mkstemp(template);\n+       if (fd < 0)\n+               die(\"Unable to create temporary file: %s\", strerror(errno));\n+       return fd;\n+}\n+\n #endif\n\n-- \n.marius\n\n"},{"id":"52005","messageId":"46D7D284.30004@telecom.at","threadId":"9525","inReplyTo":"46D7D0F7.1050302@trolltech.com","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Johannes Sixt","fromEmail":"j.sixt@telecom.at","sentAt":"2007-08-31T08:34:12Z","receivedAt":"2007-08-31T08:34:12Z","isPatch":true,"sender":{"key":"j.sixt@telecom.at","avatar":null},"body":"Marius Storm-Olsen schrieb:\n> This functions needs to be further down in the file for\n> MinGW builds, since mkstemp() is forward declared later\n> in the file. So, something like this:\n\nPlease consider using the lates MinGW port. It's already fixed there.\n\n-- Hannes\n"},{"id":"52007","messageId":"46D7D48D.6000503@trolltech.com","threadId":"9525","inReplyTo":"46D7D284.30004@telecom.at","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Marius Storm-Olsen","fromEmail":"marius@trolltech.com","sentAt":"2007-08-31T08:42:53Z","receivedAt":"2007-08-31T08:42:53Z","isPatch":true,"sender":{"key":"marius@trolltech.com","avatar":"https://gravatar.com/avatar/a40071d8f651862c6ab10bd7996f0ad84d94f06c0399de9e3fa4f06beb390a71?d=mp&s=160"},"body":"Johannes Sixt said the following on 31.08.2007 10:34:\n> Marius Storm-Olsen schrieb:\n>> This functions needs to be further down in the file for MinGW\n>> builds, since mkstemp() is forward declared later in the file.\n>> So, something like this:\n> \n> Please consider using the lates MinGW port. It's already fixed\n> there.\n\nRight. (That's the whole 4msysgit.git mingw.git discussion on the \nmsysgit mailinglist these days)\n\nJust wanted to let the original author know, so he would be aware of \nit, and we wouldn't have to go the extra round-trips with patches to \nfix patches. (And for MinGW awareness when adding code to \ngit-compat-util.h)\n\n-- \n.marius\n\n"},{"id":"52008","messageId":"46D7D60C.8090608@telecom.at","threadId":"9525","inReplyTo":"46D7D48D.6000503@trolltech.com","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Johannes Sixt","fromEmail":"j.sixt@telecom.at","sentAt":"2007-08-31T08:49:16Z","receivedAt":"2007-08-31T08:49:16Z","isPatch":true,"sender":{"key":"j.sixt@telecom.at","avatar":null},"body":"Marius Storm-Olsen schrieb:\n> Just wanted to let the original author know, so he would be aware of it, \n> and we wouldn't have to go the extra round-trips with patches to fix \n> patches. (And for MinGW awareness when adding code to git-compat-util.h)\n\nYou can't expect a lot of MinGW awareness from non-MinGW users when they \nmake changes to git-compat-util.h since upstream does not have _any_ \nreferences to MinGW there, yet.\n\n-- Hannes\n"},{"id":"52009","messageId":"46D7D8A4.1060800@trolltech.com","threadId":"9525","inReplyTo":"46D7D60C.8090608@telecom.at","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Marius Storm-Olsen","fromEmail":"marius@trolltech.com","sentAt":"2007-08-31T09:00:20Z","receivedAt":"2007-08-31T09:00:20Z","isPatch":true,"sender":{"key":"marius@trolltech.com","avatar":"https://gravatar.com/avatar/a40071d8f651862c6ab10bd7996f0ad84d94f06c0399de9e3fa4f06beb390a71?d=mp&s=160"},"body":"Johannes Sixt said the following on 31.08.2007 10:49:\n> Marius Storm-Olsen schrieb:\n>> Just wanted to let the original author know, so he would be aware\n>> of it, and we wouldn't have to go the extra round-trips with\n>> patches to fix patches. (And for MinGW awareness when adding code\n>> to git-compat-util.h)\n> \n> You can't expect a lot of MinGW awareness from non-MinGW users when\n> they make changes to git-compat-util.h since upstream does not have\n> _any_ references to MinGW there, yet.\n\nD'oh!\n/me smacks self\n\nWe really need to streamline the patches needed for MinGW, and get \nthose merged into upstream when 1.5.3 is released.\n\n-- \n.marius\n\n"},{"id":"52034","messageId":"Pine.LNX.4.64.0708311123140.28586@racer.site","threadId":"9525","inReplyTo":"46D7D8A4.1060800@trolltech.com","subject":"MinGW merge plans, was Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-31T12:03:47Z","receivedAt":"2007-08-31T12:03:47Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 31 Aug 2007, Marius Storm-Olsen wrote:\n\n> We really need to streamline the patches needed for MinGW, and get those \n> merged into upstream when 1.5.3 is released.\n\nOkay, with 1.5.3 just about to break free, I think we can think about what \nto do to flood the mailing list with MinGW compatibility patches.\n\nSo I went through the diff between mingw.git and git.git (I did not use \n4msysgit.git as a reference yet).  There are many, many changes that are \nnot really dependent on each other, so many, many people can participate \n;-)  (And of course, development on mingw.git and/or 4msysgit.git will not \nstall through that time.)\n\nAFAICS these are the topics that need to be whipped into shape as \nindividual patch series:\n\n- NO_ST_BLOCKS (struct stat has no \"blocks\" member on MinGW)\n\n- handle_line() in fmt-merge-msg.c should handle CRLF, too.  Maybe this \n  does not need to be special cased for MinGW at all.\n\n- we have a special handling for relative template paths in MinGW.  I am \n  not sure if we need it any more.\n\n- struct lock_file needs an \"fd\" member (assigned in lock_file()) so it \n  can close the fd before renaming in remove_lock_file(), \n  commit_lock_file() and commit_locked_index(), since Windows\n  does not allow renaming of a still open file.  This does not need to be \n  special cased for MinGW IMHO.\n\n- is_absolute_path() needs to be aware of <DRIVE>:/.  We should probably \n  do this for Windows in general, not just MinGW (as pointed out by Robin \n  in a recent mail, Cygwin suffers from this, too)\n\n- For some reason, we use \"/usr/bin/sort\" instead of \"sort\" in \n  check-builtins.h, generate-cmdlist.sh, git-ls-remote.sh, \n  git-mergetool.sh and some tests.  It should be checked if this is still \n  necessary (AFAIR it was some Vista fsckup)\n\n- A similar issue is /usr/bin/find in git-clone.sh, git-ls-remote.sh, \n  git-repack.sh, and some tests.\n\n- fnmatch.[ch] were added to compat/.  IIRC these were \"borrowed\" from \n  GNU libc.\n\n- A lot of functions were added to compat/mingw.c; someone should check \n  which are still needed, and which still need implementation (some \n  functions just return an error)\n\n- regex.[ch] were added to compat/.  These were \"borrowed\" from GNU regex.\n\n- We have git_etc_config() instead of ETC_GITCONFIG.  Probably this should \n  be changed to \"#define ETC_GITCONFIG git_etc_config()\" for MinGW only.  \n  (AFAIR this is a workaround for setenv() on MinGW refreshing _all_ \n  environment variables, invalidating the previous getenv()ed addresses.\n\n- Hannes implemented a spawn-pipe.h interface, to replace the fork() in \n  git_connect(), spawn_prog(), get_pack().  This is probably the most \n  difficult part to merge into git.git.  I am not clear about how much of \n  this should be moved into run-command.h instead, for example.\n\n- We have a cpio \"emulator\" script, since MinGW lacks this tool.\n\n- gettimeofday() in compat/mingw.c needs my_mktime() from date.c to be \n  public.  I did not form an opinion yet if compat/mingw.c should be \n  introduced in one go, or in incremental steps, implementing one function \n  at a time.\n\n- In exec_cmd.c, we introduced a _function_ builtin_exec_path() to allow \n  determining the path from the executable name.  This is needed when \n  calling the git programs from cmd.exe, _without_ going through sh first.  \n  IMHO this is wrong, since those programs can no longer call shell \n  scripts, as needed e.g. in hooks, merge drivers or git-gc.  So we \n  probably should get rid of this part (but I imagine before this, there \n  will be a fierce discussion about that), and force going through \n  /bin/sh.\n\n- Many places do not call is_absolute_path() (because it was not there \n  earlier).  These have to be replaced.  (This patch is orthogonal to \n  MinGW.)\n\n- We have a spawnv_git_cmd(), which is probably a duplication of the \n  run-command.h API.  We should get rid of that function, and adjust the \n  existing API if necessary.\n\n- For some reason, support for side-band-64k and side-band is commented \n  out for MinGW.  Find out the reasoning, and if it still holds true, \n  introduce NO_SIDE_BAND into the Makefile and fetch-pack.c.\n\n- In git-clone, we call \"pwd -W\" (which is utterly unportable...).  Find \n  out if it is still necessary.\n\n- In git-compat-util.h, quite a bunch of header files have to be guarded \n  between #ifndef __MINGW32__ ... #endif.\n\n- A bunch of #defines are in git-compat-util.h, which would have been \n  defined in the headers that do not exist on MinGW.  These should go into \n  an #else clause, and it should be documented which header would have had \n  those definitions.\n\n- There are a couple of workarounds in git-compat-util.h, like a mkdir() \n  replacement which takes an \"int mode\" parameter, so that we do not need \n  a dozen special cases scattered throughout the source code (MinGW's \n  mkdir() does not take a \"mode\" parameter, since MSCRT's mkdir() doesn't)\n\n- We have no \"sync\" on MinGW, and in git-repack.sh, this is worked around \n  by \"sync 2> /dev/null\".  This should be changed to something like\n\n\ttest ! -z \"@@NO_SYNC@@\" || sync\n\n- In prepend_to_path(), we need to replace the PATH delimiter \":\" by \";\"\n\n- In run_command(), we return \"status & 0xff\", because Windows' version of \n  exit() apparently replaces all values outside of 0-0xff with 0!  We \n  probably need this in handle_internal_command(), too.\n\n- In handle_internal_command(), we need to strip the extension \".exe\".  \n  This is done by defining STRIP_EXTENSION to \".exe\" in the Makefile.\n\n- In git.c's main(), we check for \"\\\\\" in addition to \"/\".  This is \n  probably not the only place needing this...  (For example, in setup.c we \n  roll an own version of it, limited to setup.c, which is bad.)\n\n- In gitk, we still delete ~/.gitk everytime.  Check if this is still \n  necessary.\n\n- help.c #includes <sys/ioctl.h>.  Why?\n\n- We have NO_ETC_PASSWD, but this is a misnomer.  It would be more \n  appropriately named NEEDS_GECOS, and there should be a replacement \n  function \"getpwuid()\" in compat/mingw.c, which calls NetUserGetInfo()\n  and fills a (custom) struct passwd.  The changes in ident.c and path.c\n  should be undone.\n\n- We have special pager handling in pager.c\n\n- In path.c, we fall back to TMP or TEMP when TMPDIR is not set.  Since I \n  propose to always run in a shell, I am torn if we should keep this code.\n\n- For some reason or other, we need some changes in perl/Makefile.\n\n- We have special progress handling in progress.c\n\n- In refs.c, we catch an erroneous errno (open can return EACCES when \n  EISDIR would be appropriate).  IMHO this should go into \n  git-compat-util.h, where the #define'd open() should be replaced by a \n  git_open() thing a la git_mkdir().\n\n- In prefix_path(), we replace all \"\\\\\" to \"/\" in the path name.\n\n- In prefix_path(), there is an #ifndef __MINGW32__, where the #else \n  clause uses is_absolute_path().  IMHO this is wrong, do not special case \n  that for MinGW.\n\n- In setup_git_directory_gently(), there is special code for absolute \n  paths of the form <DRIVE>:/bla.  IMHO this should be changed so that \n  such paths are converted to /<DRIVE>/bla first.\n\n- In sha1_file.c, we have yet another is_path_absolute() implementation.  \n  Use is_absolute_path() here instead.\n\n- In sha1_file.c, some fcntl()s are guarded (IIRC since MinGW does not \n  have fcntl() at all).  Make this a NO_FCNTL Makefile variable.\n\n- Plenty of tests have to be adjusted for the fact that there are no \n  symlinks in MinGW.  This probably benefits from the recent addition of a \n  test for symlinks in git-init... (Needs adjusting, though, e.g. in \n  test-lib.sh).\n\n- t0001 uses \"pwd -W\".\n\n- t1002 implements a \"sum\" function if it was not found (this \n  is a patch which is independent of MinGW).\n\n- t1003, t4109 and t4110 implement cmp via git diff.  Maybe change them \n  over to git diff?\n\n- t1301 skips some tests.  Look into that.\n\n- t3100 uses \"diff\" instead of \"git diff\".  Why?\n\n- t3402m t3404, t4116 and t6200 sleep 1 second.  Probably because of \n  some file date granularity thing.\n\n- t3404 replaces HEAD^ by HEAD~1, and something weird seems to happen \n  with \"@\" in the command line, when passed to scripts.\n\n- t3800 replaces one egrep with grep, because egrep is not available.  \n  IMHO egrep should not be used in git anyway.\n\n- t3901 skips iconv tests (in msysgit, we recently added iconv, so this \n  might be worth fixing in MinGW).\n\n- t3902 tests if funny filenames are allowed on the current filesystem \n  anyway.  If not, the tests are skipped.\n\n- t5300 works around the lack of /dev/zero.  It also splits a big test \n  case into nice mouthfuls.\n\n- t5301 works around the lack of /dev/random.\n\n- t5302 just skips a few tests without a comment.  Find out why.\n\n- t5502 works around a missing \"git remote\" (probably because we did not \n  have perl scripts running for quite some time).  Probably unnecessary.\n\n- t5515 escapes curly brackets, but since git-tag is no longer a shell \n  script, this should not be necessary.\n\n- t7500 is skipped.  Find out why \"vi is not cooperating\".\n\n- t7501 uses an unportable \"sed -i\".  (Should be fixed in git.git anyway.)\n\n- t7501 also skips tests without explanation.  Fix.\n\n- t9001 says it cannot invoke fake.sendmail.  Fix.\n\n- We have a NOEXECTEMPL to make up for the lack of chmod a+x in MinGW \n  (scripts are executable if and only if the first line starts with a #!). \n  Rename this to NOEXEC_SUFFIX.\n\n- upload-pack.c works around the only fork() that does not exec() in \n  git.git, by defining a function and spawning a thread.  We should get \n  rid of all fork() calls outside run-command.c, and have something like \n  BEGINTHREAD=_beginthread in the Makefile.  This is a little involved.\n\n- maybe_flush_or_die() special cases MinGW for returning EINVAL from \n  fflush() sometimes.  Either change this to _always_ check for EINVAL, or \n  do the git_fflush() trick in git-compat-util.h to replace errno with \n  EPIPE when it was set to EINVAL by fflush().\n\n- imap-send is not built.\n\n- convert-objects still is not built.  I think it is that date function \n  which we could replace by some call to date.c.\n\nPhew.\n\nCiao,\nDscho\n"},{"id":"52035","messageId":"20070831094839.362352ec@localhost","threadId":"9525","inReplyTo":"46D7D48D.6000503@trolltech.com","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Luiz Fernando N. Capitulino","fromEmail":"lcapitulino@mandriva.com.br","sentAt":"2007-08-31T12:48:39Z","receivedAt":"2007-08-31T12:48:39Z","isPatch":true,"sender":{"key":"lcapitulino@mandriva.com.br","avatar":null},"body":"Em Fri, 31 Aug 2007 10:42:53 +0200\nMarius Storm-Olsen <marius@trolltech.com> escreveu:\n\n| Johannes Sixt said the following on 31.08.2007 10:34:\n| > Marius Storm-Olsen schrieb:\n| >> This functions needs to be further down in the file for MinGW\n| >> builds, since mkstemp() is forward declared later in the file.\n| >> So, something like this:\n| > \n| > Please consider using the lates MinGW port. It's already fixed\n| > there.\n| \n| Right. (That's the whole 4msysgit.git mingw.git discussion on the \n| msysgit mailinglist these days)\n| \n| Just wanted to let the original author know, so he would be aware of \n| it, and we wouldn't have to go the extra round-trips with patches to \n| fix patches. (And for MinGW awareness when adding code to \n| git-compat-util.h)\n\n ACKed, thank you Marius.\n\n-- \nLuiz Fernando N. Capitulino\n"},{"id":"52039","messageId":"46D81412.6060407@eudaptics.com","threadId":"9525","inReplyTo":"Pine.LNX.4.64.0708311123140.28586@racer.site","subject":"Re: MinGW merge plans, was Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Johannes Sixt","fromEmail":"j.sixt@eudaptics.com","sentAt":"2007-08-31T13:13:54Z","receivedAt":"2007-08-31T13:13:54Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"[I fscked up my email address in my news reader setup. This mail is sent \nfrom a correct one. Sorry to all who might have received bounces.]\n\nJohannes Schindelin schrieb:\n> Hi,\n> \n> On Fri, 31 Aug 2007, Marius Storm-Olsen wrote:\n> \n>> We really need to streamline the patches needed for MinGW, and get\n>> those merged into upstream when 1.5.3 is released.\n> \n> Okay, with 1.5.3 just about to break free, I think we can think about\n> what to do to flood the mailing list with MinGW compatibility\n> patches.\n\nThanks for summarizing the changes and things to do. I'll respond to\nthis with more details later this evening, but only to the msysgit list.\n(Interested parties are encouraged to join the list - see\nhttp://groups.google.com/group/msysgit).\n\nI've started to rearrange patches and separate out stuff that is not\nMinGW specific, but this effort has stalled. I'm waiting for a new\nnotebook to arrive so that I can continue it during off-work hours.\n\n-- Hannes\n"},{"id":"52059","messageId":"20070831135726.783305e5@localhost","threadId":"9525","inReplyTo":"46D7D60C.8090608@telecom.at","subject":"Re: [PATCH 1/2] Introduces xmkstemp()","fromName":"Luiz Fernando N. Capitulino","fromEmail":"lcapitulino@mandriva.com.br","sentAt":"2007-08-31T16:57:26Z","receivedAt":"2007-08-31T16:57:26Z","isPatch":true,"sender":{"key":"lcapitulino@mandriva.com.br","avatar":null},"body":"Em Fri, 31 Aug 2007 10:49:16 +0200\nJohannes Sixt <j.sixt@telecom.at> escreveu:\n\n| Marius Storm-Olsen schrieb:\n| > Just wanted to let the original author know, so he would be aware of it, \n| > and we wouldn't have to go the extra round-trips with patches to fix \n| > patches. (And for MinGW awareness when adding code to git-compat-util.h)\n| \n| You can't expect a lot of MinGW awareness from non-MinGW users when they \n| make changes to git-compat-util.h since upstream does not have _any_ \n| references to MinGW there, yet.\n\n Droping people from the CC doesn't help either.\n\n Please, do not do that.\n\n-- \nLuiz Fernando N. Capitulino\n"}]}