You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bert Huijben <be...@qqmail.nl> on 2011/04/06 01:09:41 UTC

RE: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c wc-queries.sql wc_db.c wc_db.h


> -----Original Message-----
> From: hwright@apache.org [mailto:hwright@apache.org]
> Sent: dinsdag 5 april 2011 23:54
> To: commits@subversion.apache.org
> Subject: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc:
> adm_ops.c wc-queries.sql wc_db.c wc_db.h
> 
> Author: hwright
> Date: Tue Apr  5 21:53:47 2011
> New Revision: 1089257
> 
> URL: http://svn.apache.org/viewvc?rev=1089257&view=rev
> Log:
> Store changelist change notifications in the database while processing them.
> Add another function which do notification of changelist changes.
> 
> (This is largely modeled on the same technique used for revert.)


> +  /* ### TODO: This could just as well be done with a trigger, but for right
> +     ### now, this is quick and dirty. */
> +  if (existing_changelist)
> +    {
> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
> +                                        STMT_INSERT_CHANGELIST_LIST));
> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
> +                                svn_wc_notify_changelist_clear,
> +                                existing_changelist));

'i' in our bind function assumes 64 bit integers, while the enum is just 32 bit.

> +      SVN_ERR(svn_sqlite__step_done(stmt));
> +    }
> +
> +  if (new_changelist)
> +    {
> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
> +                                        STMT_INSERT_CHANGELIST_LIST));
> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
> +                                svn_wc_notify_changelist_set,
> +                                new_changelist));
> +      SVN_ERR(svn_sqlite__step_done(stmt));
> +    }

Same here.

This breaks the build on systems that don't use 64 bit for int. (So this breaks 32 bit unix and 32 and 64 bit Windows)

	Bert 



Re: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c wc-queries.sql wc_db.c wc_db.h

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Tue, Apr 5, 2011 at 6:09 PM, Bert Huijben <be...@qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: hwright@apache.org [mailto:hwright@apache.org]
>> Sent: dinsdag 5 april 2011 23:54
>> To: commits@subversion.apache.org
>> Subject: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc:
>> adm_ops.c wc-queries.sql wc_db.c wc_db.h
>>
>> Author: hwright
>> Date: Tue Apr  5 21:53:47 2011
>> New Revision: 1089257
>>
>> URL: http://svn.apache.org/viewvc?rev=1089257&view=rev
>> Log:
>> Store changelist change notifications in the database while processing them.
>> Add another function which do notification of changelist changes.
>>
>> (This is largely modeled on the same technique used for revert.)
>
>
>> +  /* ### TODO: This could just as well be done with a trigger, but for right
>> +     ### now, this is quick and dirty. */
>> +  if (existing_changelist)
>> +    {
>> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
>> +                                        STMT_INSERT_CHANGELIST_LIST));
>> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
>> +                                svn_wc_notify_changelist_clear,
>> +                                existing_changelist));
>
> 'i' in our bind function assumes 64 bit integers, while the enum is just 32 bit.
>
>> +      SVN_ERR(svn_sqlite__step_done(stmt));
>> +    }
>> +
>> +  if (new_changelist)
>> +    {
>> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
>> +                                        STMT_INSERT_CHANGELIST_LIST));
>> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
>> +                                svn_wc_notify_changelist_set,
>> +                                new_changelist));
>> +      SVN_ERR(svn_sqlite__step_done(stmt));
>> +    }
>
> Same here.
>
> This breaks the build on systems that don't use 64 bit for int. (So this breaks 32 bit unix and 32 and 64 bit Windows)

I see you fixed these in r1089279.  Thanks!

-Hyrum

Re: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c wc-queries.sql wc_db.c wc_db.h

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
On Tue, Apr 5, 2011 at 6:09 PM, Bert Huijben <be...@qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: hwright@apache.org [mailto:hwright@apache.org]
>> Sent: dinsdag 5 april 2011 23:54
>> To: commits@subversion.apache.org
>> Subject: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc:
>> adm_ops.c wc-queries.sql wc_db.c wc_db.h
>>
>> Author: hwright
>> Date: Tue Apr  5 21:53:47 2011
>> New Revision: 1089257
>>
>> URL: http://svn.apache.org/viewvc?rev=1089257&view=rev
>> Log:
>> Store changelist change notifications in the database while processing them.
>> Add another function which do notification of changelist changes.
>>
>> (This is largely modeled on the same technique used for revert.)
>
>
>> +  /* ### TODO: This could just as well be done with a trigger, but for right
>> +     ### now, this is quick and dirty. */
>> +  if (existing_changelist)
>> +    {
>> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
>> +                                        STMT_INSERT_CHANGELIST_LIST));
>> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
>> +                                svn_wc_notify_changelist_clear,
>> +                                existing_changelist));
>
> 'i' in our bind function assumes 64 bit integers, while the enum is just 32 bit.
>
>> +      SVN_ERR(svn_sqlite__step_done(stmt));
>> +    }
>> +
>> +  if (new_changelist)
>> +    {
>> +      SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
>> +                                        STMT_INSERT_CHANGELIST_LIST));
>> +      SVN_ERR(svn_sqlite__bindf(stmt, "isis", wcroot->wc_id, local_relpath,
>> +                                svn_wc_notify_changelist_set,
>> +                                new_changelist));
>> +      SVN_ERR(svn_sqlite__step_done(stmt));
>> +    }
>
> Same here.
>
> This breaks the build on systems that don't use 64 bit for int. (So this breaks 32 bit unix and 32 and 64 bit Windows)

I see you fixed these in r1089279.  Thanks!

-Hyrum

Re: svn commit: r1089257 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c wc-queries.sql wc_db.c wc_db.h

Posted by Philip Martin <ph...@wandisco.com>.
"Bert Huijben" <be...@qqmail.nl> writes:

> This breaks the build on systems that don't use 64 bit for int. (So
> this breaks 32 bit unix and 32 and 64 bit Windows)

Very few platforms use 64-bit int, 64-bit Linux does not.  It's still a
bug, but not always (ever?) visible on 64-bit Linux due to the calling
convention of the ABI.

-- 
Philip