Hi Paul,

On 2015-06-19 18:15, Paul Tan wrote:
> On Fri, Jun 19, 2015 at 11:09 PM, Junio C Hamano <gits...@pobox.com> wrote:
> 
>> The primary thing I care about is to discourage callers of the API element
>> am_state from touching these fields with strbuf functions. If it is char * 
>> then
>> the would think twice before modifying (which would involve allocating the
>> new buffer, forming the new value and assigning into it). With the fields 
>> left
>> as strbuf after they are read or formed by the API (by reading by the API
>> implementation from $GIT_DIR/rebase-apply/), it is too tempting to do
>> strbuf_add(), strbuf_trim(), etc., without restoring the value to the 
>> original
>> saying "I'm the last user of it anyway"--that is the sloppiness we can 
>> prevent
>> by not leaving it as strbuf.
> 
> I don't think this is a good deterrent. If the code wanted to, it
> could just use strbuf_attach()/strbuf_detach() as well, no?

Sadly, I am a bit too busy with some loose Git for Windows ends, so I haven't 
had the chance to look at your code.

But I still wanted to throw this idea out there: would it maybe possible to 
avoid having those values as global variables, and instead pass them as const 
char * parameters to the respective functions? That should help resolve the 
concerns of both sides because it would allow us to keep the strbuf instances, 
just as local variables.

Ciao,
Dscho
--
To unsubscribe from this list: send the line "unsubscribe git" in

Reply via email to