You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Evgeny Kotkov <ev...@visualsvn.com> on 2014/08/21 11:43:44 UTC

Re: svn commit: r1568684 - in /subversion/trunk/subversion/libsvn_fs_x: cached_data.c changes.c fs_x.c id.c id.h index.c noderevs.c pack.c transaction.c tree.c verify.c

> Author: stefan2
> Date: Sat Feb 15 21:31:04 2014
> New Revision: 1568684
>
> URL: http://svn.apache.org/r1568684
> Log:
> In FSX, unifify the concept of revision and transaction numbers and
> call it a "change set".
>
> The mapping is trivial (revs == non-neg change sets, txns are negative
> change set numbers) and a few conversion functions are being provided.
> As a first step, we use it in fs_x__id_t to represent the noderev_id
> unifying txn_id and rev_item.  The API is kept unchanged but the textual
> representation changes.

[...]

> -  /* If both node_ids start with _ and they have differing transaction
> -     IDs, then it is impossible for them to be related. */
> -  if (id_a->node_id.revision == SVN_INVALID_REVNUM)
> -    if (id_a->txn_id != id_b->txn_id || !svn_fs_x__id_txn_used(id_a->txn_id))
> -      return FALSE;
> +  /* Items from different txns are unrelated. */
> +  if (   svn_fs_x__is_txn(id_a->noderev_id.change_set)
> +      && svn_fs_x__is_txn(id_b->noderev_id.change_set)
> +      && id_a->noderev_id.change_set != id_a->noderev_id.change_set)
> +    return FALSE;

This looks like a typo, because the third condition is always false.


Regards,
Evgeny Kotkov

Re: svn commit: r1568684 - in /subversion/trunk/subversion/libsvn_fs_x: cached_data.c changes.c fs_x.c id.c id.h index.c noderevs.c pack.c transaction.c tree.c verify.c

Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Thu, Aug 21, 2014 at 11:43 AM, Evgeny Kotkov <evgeny.kotkov@visualsvn.com
> wrote:

> > Author: stefan2
> > Date: Sat Feb 15 21:31:04 2014
> > New Revision: 1568684
> >
> > URL: http://svn.apache.org/r1568684
> > Log:
> > In FSX, unifify the concept of revision and transaction numbers and
> > call it a "change set".
> >
> > The mapping is trivial (revs == non-neg change sets, txns are negative
> > change set numbers) and a few conversion functions are being provided.
> > As a first step, we use it in fs_x__id_t to represent the noderev_id
> > unifying txn_id and rev_item.  The API is kept unchanged but the textual
> > representation changes.
>
> [...]
>
> > -  /* If both node_ids start with _ and they have differing transaction
> > -     IDs, then it is impossible for them to be related. */
> > -  if (id_a->node_id.revision == SVN_INVALID_REVNUM)
> > -    if (id_a->txn_id != id_b->txn_id ||
> !svn_fs_x__id_txn_used(id_a->txn_id))
> > -      return FALSE;
> > +  /* Items from different txns are unrelated. */
> > +  if (   svn_fs_x__is_txn(id_a->noderev_id.change_set)
> > +      && svn_fs_x__is_txn(id_b->noderev_id.change_set)
> > +      && id_a->noderev_id.change_set != id_a->noderev_id.change_set)
> > +    return FALSE;
>
> This looks like a typo, because the third condition is always false.
>

Yep, it is. Fixed in r1619416.

Thanks!

-- Stefan^2.

Re: svn commit: r1568684 - in /subversion/trunk/subversion/libsvn_fs_x: cached_data.c changes.c fs_x.c id.c id.h index.c noderevs.c pack.c transaction.c tree.c verify.c

Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Thu, Aug 21, 2014 at 11:43 AM, Evgeny Kotkov <evgeny.kotkov@visualsvn.com
> wrote:

> > Author: stefan2
> > Date: Sat Feb 15 21:31:04 2014
> > New Revision: 1568684
> >
> > URL: http://svn.apache.org/r1568684
> > Log:
> > In FSX, unifify the concept of revision and transaction numbers and
> > call it a "change set".
> >
> > The mapping is trivial (revs == non-neg change sets, txns are negative
> > change set numbers) and a few conversion functions are being provided.
> > As a first step, we use it in fs_x__id_t to represent the noderev_id
> > unifying txn_id and rev_item.  The API is kept unchanged but the textual
> > representation changes.
>
> [...]
>
> > -  /* If both node_ids start with _ and they have differing transaction
> > -     IDs, then it is impossible for them to be related. */
> > -  if (id_a->node_id.revision == SVN_INVALID_REVNUM)
> > -    if (id_a->txn_id != id_b->txn_id ||
> !svn_fs_x__id_txn_used(id_a->txn_id))
> > -      return FALSE;
> > +  /* Items from different txns are unrelated. */
> > +  if (   svn_fs_x__is_txn(id_a->noderev_id.change_set)
> > +      && svn_fs_x__is_txn(id_b->noderev_id.change_set)
> > +      && id_a->noderev_id.change_set != id_a->noderev_id.change_set)
> > +    return FALSE;
>
> This looks like a typo, because the third condition is always false.
>

Yep, it is. Fixed in r1619416.

Thanks!

-- Stefan^2.