Re: [PATCH 00/14] Add submodule test harness
- From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
- Date
- Jul 8, 2014, 20:25 UTC
- Message-ID
- <53BC53C3.1010304@ramsay1.demon.co.uk>
- In-Reply-To
- <53BC47BD.1000705@web.de>
On 08/07/14 20:34, Jens Lehmann wrote:
Show 30 quoted lines
> Am 07.07.2014 21:40, schrieb Torsten Bögershausen: >> On 2014-07-07 19.05, Junio C Hamano wrote: >>> Jens Lehmann <Jens.Lehmann@web.de> writes: >>> >>>> Junio, do you want me to resend 02/14 without the non-portable "echo -n" >>>> or could you just squash the following diff in? >>> >>> Amended locally here already; thanks, both. >> >> There seems to be some other trouble under Mac OS, not yet fully tracked down, >> (may be related to the "diff -r") > > Torsten sees failures of this kind under Mac OS: > > diff -r .git/modules/sub1/config sub1/.git/config > 6d5 > < worktree = ../../../sub1 > 8a8 >> worktree = ../../../sub1 > > So the config contains the same content, but the worktree setting moved > to a different line. This seems to be the result of setting core.worktree > in the test_git_directory_is_unchanged function just before the "diff -r", > but only under Mac OS. > >> And Msysgit complains >> error: fchmod on c:/xxxt/trash directory.t7613-merge-submodule/submodule_update_repo/.git/modules/sub1/config.lock failed: Function not implemented > > I'm not sure what this is about, seems to happen during the "cp -R" of > the repo under .git/modules into the submodule.
I haven't looked into this at all, but from the above message, and noting that fchmod() is not implemented in mingw (see compat/mingw.h line 91), and the following:
$ git grep -n fchmod
compat/mingw.h:91:static inline int fchmod(int fildes, mode_t mode)
config.c:1639: if (fchmod(fd, st.st_mode & 07777) < 0) {
config.c:1640: error("fchmod on %s failed: %s",
config.c:1818: if (fchmod(out_fd, st.st_mode & 07777) < 0) {
config.c:1819: ret = error("fchmod on %s failed: %s",
$ [I happen to be on the pu branch at the moment, so YMMV!]
Both calls to fchmod() above are on config lock files, one in git_config_set_multivar_in_file() and the other in git_config_rename_section_in_file().
ATB, Ramsay Jones