Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Karl Fogel
On 08 Mar 2022, Daniel Shahaf wrote: Sure. I was asking whether by "once the user has a local pristine" you meant a pristine — as in, a file under .svn/pristine/ that .svn/wc.db knows about and uses — or Alice making a local copy of the contents of file@BASE somewhere libsvn doesn't know abou

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Shahaf
Karl Fogel wrote on Tue, Mar 08, 2022 at 14:01:22 -0600: > On 08 Mar 2022, Daniel Shahaf wrote: > > Karl Fogel: > > > Hmm, I don't see where I was assuming that the pristine would be > > > needed exactly once, though. Once the user has a local pristine > > > (by whatever means), > > > > To be cle

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Karl Fogel
On 08 Mar 2022, Daniel Shahaf wrote: Hmm, I don't see where I was assuming that the pristine would be needed exactly once, though. Once the user has a local pristine (by whatever means), To be clear, we're only talking about pristines that libsvn_wc knows about, right? As opposed to Alice

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Shahaf
Karl Fogel wrote on Tue, Mar 08, 2022 at 12:32:38 -0600: > On 08 Mar 2022, Daniel Shahaf wrote: > > Karl Fogel wrote on Mon, Mar 07, 2022 at 13:44:03 -0600: > > > And in the absence of fancy cross-network common-prefix detection > > > code that we're not going to write, this would just be > > > cos

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Karl Fogel
On 08 Mar 2022, Daniel Shahaf wrote: I wasn't proposing we require such a step. I was merely saying that was one of several possible solutions to the "How to commit a pristineless file" question. Here they are again: 1. Download the pristine and then send a regular delta 2. Send a self-delta

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Karl Fogel
On 08 Mar 2022, Daniel Shahaf wrote: Karl Fogel wrote on Mon, Mar 07, 2022 at 13:44:03 -0600: And in the absence of fancy cross-network common-prefix detection code that we're not going to write, this would just be cost-shifting anyway. Whatever commit-time improvement one would gain from havi

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Karl Fogel
On 08 Mar 2022, Daniel Shahaf wrote: Karl Fogel wrote on Sun, Mar 06, 2022 at 22:19:50 -0600: b) The failure mode of unnecessary fetching and storing is much worse than the failure mode of not having fetched a pristine that someone might turn out to want (there are workarounds for the latter);

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Shahaf
Daniel Sahlberg wrote on Tue, Mar 08, 2022 at 14:34:06 +0100: > Den tis 8 mars 2022 kl 14:17 skrev Daniel Shahaf : > > > An alternative is to require the user to let svn know before they're > > starting to edit a file, so we can create a pristine off the on-disk > > file. This way we won't have p

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Sahlberg
Den tis 8 mars 2022 kl 14:17 skrev Daniel Shahaf : > An alternative is to require the user to let svn know before they're > starting to edit a file, so we can create a pristine off the on-disk > file. This way we won't have pristineless modified files in the first > place. > Not "require". It mi

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Shahaf
Karl Fogel wrote on Mon, Mar 07, 2022 at 13:44:03 -0600: > On 07 Mar 2022, Mark Phippard wrote: > > > I do understand the reasons why Evgeny thought pre-fetching > > > pristines for modified files as part of an 'update' could be a > > > good idea. > > > > My recollection of the first version of th

Re: A two-part vision for Subversion and large binary objects.

2022-03-08 Thread Daniel Shahaf
Karl Fogel wrote on Sun, Mar 06, 2022 at 22:19:50 -0600: > b) The failure mode of unnecessary fetching and storing is much worse than > the failure mode of not having fetched a pristine that someone might turn > out to want (there are workarounds for the latter); What are some of those workarounds

Re: multi-wc-format review

2022-03-08 Thread Daniel Shahaf
Daniel Shahaf wrote on Tue, Mar 08, 2022 at 12:29:42 +: > Julian Foad wrote on Thu, Mar 03, 2022 at 10:53:13 +: > > In exposing WC format numbers in the APIs, certainly we should treat > > them as opaque identifiers with no intrinsic meaning to their numeric > > value. We could of course al

Re: multi-wc-format review

2022-03-08 Thread Daniel Shahaf
Julian Foad wrote on Thu, Mar 03, 2022 at 10:53:13 +: > I can think of a number of further API clean-ups possible, related to > multi-WC-format support. > > > Commentary: > > At first we were trying to keep knowledge of WC format numbers internal > to libsvn_wc. However it seems clear to me

Re: multi-wc-format review

2022-03-08 Thread Daniel Shahaf
Julian Foad wrote on Wed, Mar 02, 2022 at 13:35:06 +: > On Feb 25 2022, Daniel Shahaf wrote: > >> [...] we are now deliberately choosing compatibility as the default, > > > > OK. However, in this case we should document this explicitly, since the > > book explicitly documents that «svn upgra

Re: svn commit: r1898525 - in /subversion/trunk/subversion: include/svn_client.h libsvn_client/upgrade.c libsvn_wc/wc.h svn/help-cmd.c svn/info-cmd.c svn/svn.c

2022-03-08 Thread Daniel Shahaf
julianf...@apache.org wrote on Wed, Mar 02, 2022 at 12:24:40 -: > +++ subversion/trunk/subversion/include/svn_client.h Wed Mar 2 12:24:40 2022 > @@ -4471,23 +4463,8 @@ typedef struct svn_client_wc_format_t { > * @since New in 1.15. > */ > const svn_version_t * > -svn_client__wc_version_fr

Re: multi-wc-format: upgrading externals

2022-03-08 Thread Daniel Shahaf
Julian Foad wrote on Wed, Mar 02, 2022 at 13:04:51 +: > Daniel Shahaf wrote: > > multi-wc-format/BRANCH-README mentioned this: > > > >> [*] New externals working copies must inherit the format from their > >>parent working copy, because [...] > > > > Upgrading a parent working copy upgr