Guys,

I must say this.  I have been trying to, in general, hold myself to doing
this rather formally up until recently.  I admit that I have been more
directly pushing things in as of late.

Since, as you say, this could have been avoided by doing PRs... which it
could have.  Should we not, as an project, move to this model?  It's known
as gitflow and it's what I was following when I would create a branch with
large changes and then have it reviewed by yourself and others before
merging.   This would slow some development down, but it would have the
effect of keeping master in a condition where it always builds and is
always releasable (which should always be the case).

Here is a link, for reference:
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Some might argue that this should only be done with large teams, but I used
this process on a small team when I worked at a company known as customink
where we only had 4 people and it still helped things go very smoothly.

This is the process I've been trying to adhere to.  I would advocate that,
if PRs could have prevented this then, perhaps, we should all move to it.
I had a discussion with Riccardo where he thought this process was too much
and was silly and that merging to the master branch directly is always the
best way to go.   That's precisely what caused this.   We can make all of
the arguments that "a focused developer wouldn't make these mistakes" but
that's BS.  Process is here to prevent mistakes or to mitigate them.

I disagree with Riccardo's position wholeheartedly.   A more controlled and
disciplined approach should be adopted and we should stick to it.

Any thoughts?

Yours, GC

[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&;>
11/14/19,
11:23:51 PM

On Thu, Nov 14, 2019 at 11:09 PM Gregory Casamento <greg.casame...@gmail.com>
wrote:

>
> Guys,
>
> This was my fault.  Fred, thank you for fixing this.  No intention to
> remove gcc support was intended.   I was simply in a hurry to wipe out the
> items on the MISSING list. ;)
>
> BTW, there is an experimental library which handles xpc but it is only
> available on *BSD right now.
>
> GC
>
> On Thu, Nov 14, 2019 at 5:08 PM Fred Kiefer <fredkie...@gmx.de> wrote:
>
>> I fixed these places.  Bugs like this could easily be avoided by using
>> branches and pull requests and having the travis CI test the build on
>> different environments. But this did not happen. Looks like somebody wants
>> to stop compilation of GNUstep with gcc.
>>
>> Fred
>>
>> > Am 14.11.2019 um 21:55 schrieb Riccardo Mottola <
>> riccardo.mott...@libero.it>:
>> >
>> > Hi,
>> >
>> > our base is not compiling on Debian with current gcc 9.2.
>> >
>> > The latter errors are certainly for Blocks being used enyway, but the
>> first error about NSSet confuses me.
>> > I fixed NSError not being found because a missing header, but that is
>> not enough.
>> >
>> >
>> > Making all for library libgnustep-base...
>> >  Compiling file NSXPCConnection.m ...
>> > In file included from NSXPCConnection.m:25:
>> > ../Headers/Foundation/NSXPCConnection.h:36:62: error: expected ‘;’
>> before ‘<’ token
>> >    36 | @class NSMutableDictionary, NSString, NSOperationQueue,
>> NSSet<ObjectType>, NSLock, NSError;
>> >       | ^
>> >       | ;
>> > In file included from ../Headers/Foundation/NSObjCRuntime.h:41,
>> >                  from ../Headers/Foundation/NSObject.h:30,
>> >                  from ../Headers/Foundation/NSXPCConnection.h:28,
>> >                  from NSXPCConnection.m:25:
>> > ../Headers/Foundation/NSXPCConnection.h:40:49: error: unknown type name
>> ‘NSError’
>> >    40 | DEFINE_BLOCK_TYPE(GSXPCProxyErrorHandler, void, NSError *);
>> >       |                                                 ^~~~~~~
>> > ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro
>> ‘DEFINE_BLOCK_TYPE’
>> >    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>> >       |                            ^~~~~~
>> > ../Headers/GNUstepBase/GSBlocks.h:69:3: warning: no semicolon at end of
>> struct or union
>> >    69 |   } *name
>> >       |   ^
>> > ../Headers/Foundation/NSXPCConnection.h:40:1: note: in expansion of
>> macro ‘DEFINE_BLOCK_TYPE’
>> >    40 | DEFINE_BLOCK_TYPE(GSXPCProxyErrorHandler, void, NSError *);
>> >       | ^~~~~~~~~~~~~~~~~
>> > ../Headers/Foundation/NSXPCConnection.h:41:51: error: ‘void’ must be
>> the only parameter
>> >    41 | DEFINE_BLOCK_TYPE(GSXPCInterruptionHandler, void, void);
>> >       |                                                   ^~~~
>> > ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro
>> ‘DEFINE_BLOCK_TYPE’
>> >    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>> >       |                            ^~~~~~
>> > ../Headers/Foundation/NSXPCConnection.h:42:51: error: ‘void’ must be
>> the only parameter
>> >    42 | DEFINE_BLOCK_TYPE(GSXPCInvalidationHandler, void, void);
>> >       |                                                   ^~~~
>> > ../Headers/GNUstepBase/GSBlocks.h:68:28: note: in definition of macro
>> ‘DEFINE_BLOCK_TYPE’
>> >    68 |     retTy (*invoke)(void*, argTys, ## __VA_ARGS__);\
>> >       |                            ^~~~~~
>> > In file included from NSXPCConnection.m:25:
>> > ../Headers/Foundation/NSXPCConnection.h:85:49: error: expected ‘)’
>> before ‘^’ token
>> >    85 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError
>> *error))handler;
>> >       |                                                 ^
>> >       |                                                 )
>> > ../Headers/Foundation/NSXPCConnection.h:85:51: error: expected ‘)’
>> before ‘(’ token
>> >    85 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError
>> *error))handler;
>> >       |                                                   ^
>> >       |                                                   )
>> > ../Headers/Foundation/NSXPCConnection.h:87:60: error: expected ‘)’
>> before ‘^’ token
>> >    87 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void
>> (^)(NSError *error))handler;
>> >       |                                                            ^
>> >       |                                                            )
>> > ../Headers/Foundation/NSXPCConnection.h:87:62: error: expected ‘)’
>> before ‘(’ token
>> >    87 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void
>> (^)(NSError *error))handler;
>> >       | ^
>> >       | )
>> > NSXPCConnection.m:90:49: error: expected ‘)’ before ‘^’ token
>> >    90 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError
>> *error))handler
>> >       |                                                 ^
>> >       |                                                 )
>> > NSXPCConnection.m:90:51: error: expected ‘)’ before ‘(’ token
>> >    90 | - (id) remoteObjectProxyWithErrorHandler:(void (^)(NSError
>> *error))handler
>> >       |                                                   ^
>> >       |                                                   )
>> > NSXPCConnection.m:95:60: error: expected ‘)’ before ‘^’ token
>> >    95 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void
>> (^)(NSError *error))handler
>> >       |                                                            ^
>> >       |                                                            )
>> > NSXPCConnection.m:95:62: error: expected ‘)’ before ‘(’ token
>> >    95 | - (id) synchronousRemoteObjectProxyWithErrorHandler:(void
>> (^)(NSError *error))handler
>> >       | ^
>> >       | )
>> > make[4]: *** [/System/Library/Makefiles/rules.make:479:
>> obj/libgnustep-base.obj/NSXPCConnection.m.o] Error 1
>> >
>> >
>>
>>
>>
>
> --
> Gregory Casamento
> GNUstep Lead Developer / OLC, Principal Consultant
> http://www.gnustep.org - http://heronsperch.blogspot.com
> http://ind.ie/phoenix/
>


-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/

Reply via email to