They are indeed. It's always bothered me that we didn't use a stable type for our revnums:
$ grep svn_revnum_t subversion/include/svn_types.h | grep typedef typedef long int svn_revnum_t; On Wed, Oct 10, 2012 at 3:31 PM, Greg Stein <gst...@gmail.com> wrote: > Eh? I thought revnums were longs. Not 64-bit (except by happenstance) > > On Oct 10, 2012 3:06 PM, <hwri...@apache.org> wrote: >> >> Author: hwright >> Date: Wed Oct 10 22:05:34 2012 >> New Revision: 1396826 >> >> URL: http://svn.apache.org/viewvc?rev=1396826&view=rev >> Log: >> Avoid integer size mismatch warning. >> >> * subversion/libsvn_fs_fs/tree.c >> (cache_entry_t, cache_lookup): Adjust hash_value to match the size of >> the >> revision number, which is an input to the hash value. >> >> Modified: >> subversion/trunk/subversion/libsvn_fs_fs/tree.c >> >> Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c >> URL: >> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1396826&r1=1396825&r2=1396826&view=diff >> >> ============================================================================== >> --- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original) >> +++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Wed Oct 10 22:05:34 >> 2012 >> @@ -148,7 +148,7 @@ typedef struct cache_entry_t >> { >> /* hash value derived from PATH, REVISION. >> Used to short-circuit failed lookups. */ >> - apr_uint32_t hash_value; >> + apr_uint64_t hash_value; >> >> /* revision to which the NODE belongs */ >> svn_revnum_t revision; >> @@ -337,7 +337,7 @@ cache_lookup( fs_fs_dag_cache_t *cache >> { >> apr_size_t i, bucket_index; >> apr_size_t path_len = strlen(path); >> - apr_uint32_t hash_value = revision; >> + apr_uint64_t hash_value = revision; >> >> /* optimistic lookup: hit the same bucket again? */ >> cache_entry_t *result = &cache->buckets[cache->last_hit]; >> >> >