> -----Original Message----- > From: Kannan [mailto:kann...@collab.net] > Sent: maandag 18 januari 2010 5:46 > To: C. Michael Pilato > Cc: Philip Martin; SVN Dev > Subject: Re: [PATCH] Fix #3544 - svn update does not restore excluded files > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > C. Michael Pilato wrote: > [..] > > This patch doesn't apply cleanly anymore because I committed one of you > > other ones. The conflict is pretty easy to resolve, though. > > Yes, as said in this thread before the change in this patch is the > required one. > > > That said, I don't understand the changes to fold_entry(). The function's > > purpose is to modify an entry_t by copying a subset of fields from another > > entry_t. It seems an odd place to put code that tweaks that entry_t's > > "depth" field without respect to either the source entry_t's value or to the > > flagset that dictates which fields to modify. > > > > > > /me nods. A file has the default and only depth of `infinity', so it's > depth can't be updated to the dir's(ie, source entry's), also > fold_entry() is the method where individual entries are obtained and > processed, so made the change there. (In the process of finding some > other place to make the change) please CMIIW. Thank you for the > comments.
For the WC-NG work we are trying to remove all calls to this fold function as a step towards removing all handling of svn_wc_entry_t. As WC-NG can store more state about nodes than can be expressed in svn_wc_entry_t, every call to fold_entry() can and in many cases will loose data. In the WC-NG store we can exclude files (which we couldn't do in 1.6) and when you see such a node as an entry you will see that its depth is excluded. But depth excluded is not stored as a depth, but as a node status. As far as I know, we completed moving all depth handling from the entries level and use wc_db apis instead. Bert