pw@xxxxxxxx wrote on Wed, 03 Nov 2010 18:02 -0400: > jrnieder@xxxxxxxxx wrote on Wed, 03 Nov 2010 13:36 -0500: > > On Wed, Nov 03, 2010 at 10:37:40AM -0700, Junio C Hamano wrote: > > > Pete Wyckoff <pw@xxxxxxxx> writes: > > > > >> When a repository has been copied with rsync, or cloned using > > >> a volume manager, the index can be incorrect even though the > > >> data is unchanged. This new flag tells update-index --refresh > > >> that it is not necessary to reread the data contents. > > > > > > I know our traditional attitude towards the plumbing commands have been > > > "give them long enough rope and let users hang themselves", but this > > > particular rope feels a bit too long for my taste. > > > > Pete, I think you mentioned the possibility of a special-case tool for > > contrib/ that just updates the inode, device number, and ctime fields? > > That sounds a little less worrying to use, as plumbing. > > Yes, I'd been discussing with Jonathan offlist that I too agree > this is a bit bizarre for general use. Especially when thinking > about how to explain the new flag in the manpage, and how > interactions with other command-line options should work. > > I wrote a short C program to use existing functions from cache.h > to read and write the index, updating the entries by hand. Once > I figure out how to build it nicely, I'll submit for contrib/. I > haven't figured out how to include the useful bits of the > top-level Makefile (like SSL setting, which SHA1, -lpthread, > etc.). Turns out this was dead simple with dulwich, a python interface to git internals: http://samba.org/~jelmer/dulwich . I got rid of the C version. The script uses dulwich to generate a list of index entries, stats each file and updates the entries, then writes it back out. I won't submit it to contrib, since it is so trivial and because it depends on dulwich. -- Pete -- 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