[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r28489 - branches/reintegrate/subversion/libsvn_fs_fs

From: David Glasser <glasser_at_davidglasser.net>
Date: 2007-12-15 01:30:04 CET

er, update_tests 36.

--dave

On Dec 14, 2007 4:29 PM, David Glasser <glasser@davidglasser.net> wrote:
> Hmm, something is wrong, maybe with this commit... update_tests.py has
> a crazy error:
>
> svn: Can't increment mergeinfo count on *file* node-revision 4.1.t7-7
> to 18446744073709551615 (> 1)
>
>
>
> On Dec 14, 2007 3:02 PM, <glasser@tigris.org> wrote:
> > Author: glasser
> > Date: Fri Dec 14 15:02:30 2007
> > New Revision: 28489
> >
> > Log:
> > Change type of "mergeinfo-count" variable to apr_uint64_t from int
> > everywhere.
> >
> > * subversion/libsvn_fs_fs/dag.c
> > (svn_fs_fs__dag_get_mergeinfo_count,
> > svn_fs_fs__dag_set_proplist,
> > svn_fs_fs__dag_increment_mergeinfo_count): Adjust (and I18N-ize
> > some error messages).
> >
> > * subversion/libsvn_fs_fs/dag.h
> > (svn_fs_fs__dag_get_mergeinfo_count,
> > svn_fs_fs__dag_increment_mergeinfo_count): Adjust.
> >
> > * subversion/libsvn_fs_fs/fs.h
> > (node_revision_t): Adjust.
> >
> > * subversion/libsvn_fs_fs/fs_fs.c
> > (svn_fs_fs__get_node_revision, write_noderev_txn): Adjust.
> >
> > * subversion/libsvn_fs_fs/tree.c
> > (increment_mergeinfo_up_tree, fs_change_node_prop, merge,
> > fs_delete_node, copy_helper): Adjust.
> >
> >
> > Modified:
> > branches/reintegrate/subversion/libsvn_fs_fs/dag.c
> > branches/reintegrate/subversion/libsvn_fs_fs/dag.h
> > branches/reintegrate/subversion/libsvn_fs_fs/fs.h
> > branches/reintegrate/subversion/libsvn_fs_fs/fs_fs.c
> > branches/reintegrate/subversion/libsvn_fs_fs/tree.c
> >
> > Modified: branches/reintegrate/subversion/libsvn_fs_fs/dag.c
> > URL: http://svn.collab.net/viewvc/svn/branches/reintegrate/subversion/libsvn_fs_fs/dag.c?pathrev=28489&r1=28488&r2=28489
> > ==============================================================================
> > --- branches/reintegrate/subversion/libsvn_fs_fs/dag.c (original)
> > +++ branches/reintegrate/subversion/libsvn_fs_fs/dag.c Fri Dec 14 15:02:30 2007
> > @@ -239,7 +239,7 @@
> > }
> >
> > svn_error_t *
> > -svn_fs_fs__dag_get_mergeinfo_count(int *count,
> > +svn_fs_fs__dag_get_mergeinfo_count(apr_uint64_t *count,
> > dag_node_t *node,
> > apr_pool_t *pool)
> > {
> > @@ -500,7 +500,7 @@
> >
> > svn_error_t *
> > svn_fs_fs__dag_increment_mergeinfo_count(dag_node_t *node,
> > - int increment,
> > + apr_uint64_t increment,
> > apr_pool_t *pool)
> > {
> > node_revision_t *noderev;
> > @@ -527,8 +527,8 @@
> > svn_string_t *idstr = svn_fs_fs__id_unparse(node->id, pool);
> > return svn_error_createf
> > (SVN_ERR_FS_CORRUPT, NULL,
> > - "Can't increment mergeinfo count on node-revision %s to negative "
> > - "value %d",
> > + _("Can't increment mergeinfo count on node-revision %s to negative "
> > + "value %llu"),
> > idstr->data, noderev->mergeinfo_count);
> > }
> > if (noderev->mergeinfo_count > 1 && noderev->kind == svn_node_file)
> > @@ -536,8 +536,8 @@
> > svn_string_t *idstr = svn_fs_fs__id_unparse(node->id, pool);
> > return svn_error_createf
> > (SVN_ERR_FS_CORRUPT, NULL,
> > - "Can't increment mergeinfo count on *file* node-revision %s to %d "
> > - "(> 1)",
> > + _("Can't increment mergeinfo count on *file* node-revision %s to "
> > + "%llu (> 1)"),
> > idstr->data, noderev->mergeinfo_count);
> > }
> >
> >
> > Modified: branches/reintegrate/subversion/libsvn_fs_fs/dag.h
> > URL: http://svn.collab.net/viewvc/svn/branches/reintegrate/subversion/libsvn_fs_fs/dag.h?pathrev=28489&r1=28488&r2=28489
> > ==============================================================================
> > --- branches/reintegrate/subversion/libsvn_fs_fs/dag.h (original)
> > +++ branches/reintegrate/subversion/libsvn_fs_fs/dag.h Fri Dec 14 15:02:30 2007
> > @@ -110,7 +110,7 @@
> >
> > /* Set *COUNT to the number of node under NODE (inclusive) with
> > svn:mergeinfo properties, allocating from POOL. */
> > -svn_error_t *svn_fs_fs__dag_get_mergeinfo_count(int *count,
> > +svn_error_t *svn_fs_fs__dag_get_mergeinfo_count(apr_uint64_t *count,
> > dag_node_t *node,
> > apr_pool_t *pool);
> >
> > @@ -155,7 +155,7 @@
> > /* Increment the mergeinfo_count field on NODE by INCREMENT. The node
> > being changed must be mutable. */
> > svn_error_t *svn_fs_fs__dag_increment_mergeinfo_count(dag_node_t *node,
> > - int increment,
> > + apr_uint64_t increment,
> > apr_pool_t *pool);
> >
> > /* Set the has-mergeinfo flag on NODE to HAS_MERGEINFO. The node
> >
> > Modified: branches/reintegrate/subversion/libsvn_fs_fs/fs.h
> > URL: http://svn.collab.net/viewvc/svn/branches/reintegrate/subversion/libsvn_fs_fs/fs.h?pathrev=28489&r1=28488&r2=28489
> > ==============================================================================
> > --- branches/reintegrate/subversion/libsvn_fs_fs/fs.h (original)
> > +++ branches/reintegrate/subversion/libsvn_fs_fs/fs.h Fri Dec 14 15:02:30 2007
> > @@ -306,9 +306,7 @@
> >
> > /* Number of nodes with svn:mergeinfo properties that are
> > descendents of this node (including it itself) */
> > - /* ### TODO(reint): worry about overflow; probably use key-gen.h things
> > - instead (use apr_uint64_t here, perhaps)? */
> > - int mergeinfo_count;
> > + apr_uint64_t mergeinfo_count;
> >
> > /* Does this node itself have svn:mergeinfo? */
> > svn_boolean_t has_mergeinfo;
> >
> > Modified: branches/reintegrate/subversion/libsvn_fs_fs/fs_fs.c
> > URL: http://svn.collab.net/viewvc/svn/branches/reintegrate/subversion/libsvn_fs_fs/fs_fs.c?pathrev=28489&r1=28488&r2=28489
> > ==============================================================================
> > --- branches/reintegrate/subversion/libsvn_fs_fs/fs_fs.c (original)
> > +++ branches/reintegrate/subversion/libsvn_fs_fs/fs_fs.c Fri Dec 14 15:02:30 2007
> > @@ -1571,7 +1571,7 @@
> >
> > /* Get the mergeinfo count. */
> > value = apr_hash_get(headers, HEADER_MINFO_CNT, APR_HASH_KEY_STRING);
> > - noderev->mergeinfo_count = (value == NULL) ? 0 : atoi(value);
> > + noderev->mergeinfo_count = (value == NULL) ? 0 : apr_atoi64(value);
> >
> > /* Get whether *this* node has mergeinfo. */
> > value = apr_hash_get(headers, HEADER_MINFO_HERE, APR_HASH_KEY_STRING);
> > @@ -1660,7 +1660,8 @@
> > SVN_ERR(svn_stream_printf(outfile, pool, HEADER_FRESHTXNRT ": y\n"));
> >
> > if (noderev->mergeinfo_count > 0)
> > - SVN_ERR(svn_stream_printf(outfile, pool, HEADER_MINFO_CNT ": %d\n",
> > + SVN_ERR(svn_stream_printf(outfile, pool, HEADER_MINFO_CNT ": "
> > + APR_UINT64_T_FMT "\n",
> > noderev->mergeinfo_count));
> >
> > if (noderev->has_mergeinfo)
> >
> > Modified: branches/reintegrate/subversion/libsvn_fs_fs/tree.c
> > URL: http://svn.collab.net/viewvc/svn/branches/reintegrate/subversion/libsvn_fs_fs/tree.c?pathrev=28489&r1=28488&r2=28489
> > ==============================================================================
> > --- branches/reintegrate/subversion/libsvn_fs_fs/tree.c (original)
> > +++ branches/reintegrate/subversion/libsvn_fs_fs/tree.c Fri Dec 14 15:02:30 2007
> > @@ -1022,7 +1022,7 @@
> >
> > static svn_error_t *
> > increment_mergeinfo_up_tree(parent_path_t *pp,
> > - int increment,
> > + apr_uint64_t increment,
> > apr_pool_t *pool)
> > {
> > for (; pp; pp = pp->parent)
> > @@ -1074,7 +1074,7 @@
> >
> > if (strcmp (name, SVN_PROP_MERGEINFO) == 0)
> > {
> > - int increment = 0;
> > + apr_uint64_t increment = 0;
> > svn_boolean_t had_mergeinfo;
> > SVN_ERR(svn_fs_fs__dag_has_mergeinfo(&had_mergeinfo, parent_path->node,
> > pool));
> > @@ -1219,7 +1219,7 @@
> > dag_node_t *source,
> > dag_node_t *ancestor,
> > const char *txn_id,
> > - int *mergeinfo_increment_out,
> > + apr_uint64_t *mergeinfo_increment_out,
> > apr_pool_t *pool)
> > {
> > const svn_fs_id_t *source_id, *target_id, *ancestor_id;
> > @@ -1228,7 +1228,7 @@
> > svn_fs_t *fs;
> > apr_pool_t *iterpool;
> > int pred_count;
> > - int mergeinfo_increment = 0;
> > + apr_uint64_t mergeinfo_increment = 0;
> >
> > /* Make sure everyone comes from the same filesystem. */
> > fs = svn_fs_fs__dag_get_fs(ancestor);
> > @@ -1410,7 +1410,7 @@
> > else if (t_entry && svn_fs_fs__id_eq(a_entry->id, t_entry->id))
> > {
> > dag_node_t *t_ent_node;
> > - int mergeinfo_start;
> > + apr_uint64_t mergeinfo_start;
> > SVN_ERR(svn_fs_fs__dag_get_node(&t_ent_node, fs,
> > t_entry->id, iterpool));
> > SVN_ERR(svn_fs_fs__dag_get_mergeinfo_count(&mergeinfo_start,
> > @@ -1421,7 +1421,7 @@
> > if (s_entry)
> > {
> > dag_node_t *s_ent_node;
> > - int mergeinfo_end;
> > + apr_uint64_t mergeinfo_end;
> > SVN_ERR(svn_fs_fs__dag_get_node(&s_ent_node, fs,
> > s_entry->id, iterpool));
> > SVN_ERR(svn_fs_fs__dag_get_mergeinfo_count(&mergeinfo_end,
> > @@ -1447,7 +1447,7 @@
> > {
> > dag_node_t *s_ent_node, *t_ent_node, *a_ent_node;
> > const char *new_tpath;
> > - int sub_mergeinfo_increment;
> > + apr_uint64_t sub_mergeinfo_increment;
> >
> > /* If SOURCE-ENTRY and TARGET-ENTRY are both null, that's a
> > double delete; flag a conflict. */
> > @@ -1517,7 +1517,7 @@
> > void *val;
> > apr_ssize_t klen;
> > dag_node_t *s_ent_node;
> > - int mergeinfo_s;
> > + apr_uint64_t mergeinfo_s;
> >
> > svn_pool_clear(iterpool);
> >
> > @@ -1893,7 +1893,7 @@
> > {
> > parent_path_t *parent_path;
> > const char *txn_id = root->txn;
> > - int mergeinfo_count;
> > + apr_uint64_t mergeinfo_count;
> >
> > if (! root->is_txn_root)
> > return SVN_FS__NOT_TXN(root);
> > @@ -2021,8 +2021,8 @@
> > svn_fs_path_change_kind_t kind;
> > dag_node_t *new_node;
> > const char *from_canonpath;
> > - int mergeinfo_start;
> > - int mergeinfo_end;
> > + apr_uint64_t mergeinfo_start;
> > + apr_uint64_t mergeinfo_end;
> >
> > /* If TO_PATH already existed prior to the copy, note that this
> > operation is a replacement, not an addition. */
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: svn-help@subversion.tigris.org
> >
> >
>
>
>
> --
> David Glasser | glasser_at_davidglasser.net | http://www.davidglasser.net/
>

-- 
David Glasser | glasser_at_davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Dec 15 01:50:49 2007

This is an archived mail posted to the Subversion Dev mailing list.