Thread: Object files generated by ecpg test suite not ignored on Windows
Hi all, When running the test suite of ecpg, build generates a set of obj files and it happens that those files are not ignored in the code tree. Patch is attached. Regards, -- Michael
Attachment
Michael Paquier wrote: > Hi all, > > When running the test suite of ecpg, build generates a set of obj > files and it happens that those files are not ignored in the code > tree. Wouldn't this be simpler as a *.obj pattern somewhere? Maybe in ecpg/test/.gitignore add this line? **/*.obj -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
> When running the test suite of ecpg, build generates a set of obj > files and it happens that those files are not ignored in the code > tree. Applied, thanks. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org Jabber: michael.meskes at gmail dot com VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
Alvaro Herrera <alvherre@2ndquadrant.com> writes: > Michael Paquier wrote: >> When running the test suite of ecpg, build generates a set of obj >> files and it happens that those files are not ignored in the code >> tree. > Wouldn't this be simpler as a *.obj pattern somewhere? Maybe in > ecpg/test/.gitignore add this line? Actually, if we are supporting toolchains that generate *.obj files, I'd expect the top-level .gitignore to ignore them, as it does *.o. But if that's the issue why have we not heard complaints before? regards, tom lane
On 03/09/2015 09:46 AM, Tom Lane wrote: > Alvaro Herrera <alvherre@2ndquadrant.com> writes: >> Michael Paquier wrote: >>> When running the test suite of ecpg, build generates a set of obj >>> files and it happens that those files are not ignored in the code >>> tree. >> Wouldn't this be simpler as a *.obj pattern somewhere? Maybe in >> ecpg/test/.gitignore add this line? > Actually, if we are supporting toolchains that generate *.obj files, > I'd expect the top-level .gitignore to ignore them, as it does *.o. > But if that's the issue why have we not heard complaints before? > > Probably because while there is lots of use on Windows there is probably very little development. +1 for adding a top level .gitignore entry. cheers andrew
>> Actually, if we are supporting toolchains that generate *.obj files, >> I'd expect the top-level .gitignore to ignore them, as it does *.o. >> But if that's the issue why have we not heard complaints before? > ... > +1 for adding a top level .gitignore entry. I don't have a Windows system to test on, but how come these files were only created in the ecpg testsuite? With the global .gitignore not mentioning *.obj it appears those files are not created anywhere else. Is the build process different for the rest of the tree? Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org Jabber: michael.meskes at gmail dot com VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
On 03/09/2015 11:31 AM, Michael Meskes wrote: >>> Actually, if we are supporting toolchains that generate *.obj files, >>> I'd expect the top-level .gitignore to ignore them, as it does *.o. >>> But if that's the issue why have we not heard complaints before? >> ... >> +1 for adding a top level .gitignore entry. > I don't have a Windows system to test on, but how come these files were > only created in the ecpg testsuite? With the global .gitignore not > mentioning *.obj it appears those files are not created anywhere else. > Is the build process different for the rest of the tree? > The MSVC build creates project directories which contain all the .obj files etc. The file locations for intermediate artefacts are quite different from the way a Unix build works. There is an ignore rule for these directories, which covers the .obj files there. But ecpg files are generated like in Unix builds. Since we have a global ignore rule for .o files it makes plenty of sense to have one for .obj files also. Certainly better than have one rule for each ecpg test case. cheers andrew
Andrew Dunstan <andrew@dunslane.net> writes: > On 03/09/2015 11:31 AM, Michael Meskes wrote: >> I don't have a Windows system to test on, but how come these files were >> only created in the ecpg testsuite? With the global .gitignore not >> mentioning *.obj it appears those files are not created anywhere else. >> Is the build process different for the rest of the tree? > The MSVC build creates project directories which contain all the .obj > files etc. The file locations for intermediate artefacts are quite > different from the way a Unix build works. There is an ignore rule for > these directories, which covers the .obj files there. But ecpg files are > generated like in Unix builds. Ah. That's lots more plausible than "no one's ever done any development on Windows". I can believe that not so many people have run the ecpg tests there. > Since we have a global ignore rule for .o > files it makes plenty of sense to have one for .obj files also. > Certainly better than have one rule for each ecpg test case. Agreed. So we should revert the previous patch ... regards, tom lane
On 09.03.2015 16:58, Tom Lane wrote: > Andrew Dunstan <andrew@dunslane.net> writes: >> The MSVC build creates project directories which contain all the .obj >> files etc. The file locations for intermediate artefacts are quite >> different from the way a Unix build works. There is an ignore rule for >> these directories, which covers the .obj files there. But ecpg files are >> generated like in Unix builds. > > Ah. That's lots more plausible than "no one's ever done any development > on Windows". I can believe that not so many people have run the ecpg > tests there. Completely agreed. >> Since we have a global ignore rule for .o >> files it makes plenty of sense to have one for .obj files also. >> Certainly better than have one rule for each ecpg test case. > > Agreed. So we should revert the previous patch ... Done. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org Jabber: michael.meskes at gmail dot com VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
On Tue, Mar 10, 2015 at 2:50 AM, Michael Meskes <meskes@postgresql.org> wrote: > On 09.03.2015 16:58, Tom Lane wrote: >> Andrew Dunstan <andrew@dunslane.net> writes: >>> The MSVC build creates project directories which contain all the .obj >>> files etc. The file locations for intermediate artefacts are quite >>> different from the way a Unix build works. There is an ignore rule for >>> these directories, which covers the .obj files there. But ecpg files are >>> generated like in Unix builds. >> >> Ah. That's lots more plausible than "no one's ever done any development >> on Windows". I can believe that not so many people have run the ecpg >> tests there. > > Completely agreed. > >>> Since we have a global ignore rule for .o >>> files it makes plenty of sense to have one for .obj files also. >>> Certainly better than have one rule for each ecpg test case. >> >> Agreed. So we should revert the previous patch ... > > Done. Thanks for the fix. I did it as a global rule first, until noticing that each regression item was listed in their own separate .gitignore.. -- Michael