Junio C Hamano <gitster@xxxxxxxxx> wrote: > Eric Wong <normalperson@xxxxxxxx> writes: > > Jason Gross <jgross@xxxxxxx> wrote: > >> my $cache_path = "$ENV{GIT_DIR}/svn/.caches/"; > > > > Can we make the caches sharable by encoding variables like > > $Config{use64bitint} and $Storable::VERSION into $cache_path? > > > > Something like this (untested): > > > > use Config; > > > > my $cache_path = "$ENV{GIT_DIR}/svn/.caches/"; > > $cache_path .= "$Config{use64bitint}.$Storable::VERSION/"; > > > > We'll blow everybody's cache away once during the git-svn upgrade, but > > in the future people will be able to share the same working tree between > > different versions of perl/Storable/whatnot without needing extra code > > to detect croaks, different build options, and nuking each other's > > caches. > > Meaning multiple directories and people share with those with systems with > similar characteristics? Yes. > It certainly is better than silently getting confused or barfing when > reading 32LE data on 64BE box, and presumably it would be easy to > implement, but is that the best we can do with memoize? > > I am wondering if memoize can be told to use a platform independent > serializer backend that is reasonably efficient. Storable nstore only guarantees endian-neutrality. JSON/YAML/XML are all platform-neutral options but (AFAIK) none are standard parts of all Perl versions we support. There's Data::Dumper + eval which should work, but a Memoize::* interface needs to be implemented/imported. -- Eric Wong -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html