You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Eric S. Raymond" <es...@thyrsus.com> on 2011/12/19 20:36:27 UTC

Please review this dumpfile documentation

I want to get it finished and into the repo, where it will answer 
support questions so you don't have to.  This is the 0.3 version; please
note the open questions listed near the beginning.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by "Eric S. Raymond" <es...@thyrsus.com>.
Daniel Shahaf <da...@elego.de>:
> Eric S. Raymond wrote on Mon, Dec 19, 2011 at 14:36:27 -0500:
> > 3. In a copyfrom node, is it possible to have a file source and a
> >    directory target?  Or vice-versa?
> 
> In Subversion filesystems, it is not possible to change the kind of
> a node.  A node-revision with copyfrom must therefore be of the same
> kind as the node-revision it is a copy of.

The way you explained that is illuminating.  Because, there is a
possible interpretation of copyfrom semantics that is content-centered
rather than node centered, in which a copyfrom with file source and
directory target would work the way cp(1) handles that case.

On the other hand, the constraint you describe will simplify my dump
interpreter significantly.
 
> Similarly, when copyfrom isn't present, and the action isn't an add or
> copy, then the kind of the thing identified by (PATH, REVISION) must
> agree with the kind of the thing identified by (PATH, -1+REVISION).
> 
> Also, Subversion filesystems do not allow the root directory ("/") to be
> deleted or replaced.

Noted.  I'll add these to the draft. 
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by Daniel Shahaf <da...@elego.de>.
Eric S. Raymond wrote on Mon, Dec 19, 2011 at 14:36:27 -0500:
> 3. In a copyfrom node, is it possible to have a file source and a
>    directory target?  Or vice-versa?

In Subversion filesystems, it is not possible to change the kind of
a node.  A node-revision with copyfrom must therefore be of the same
kind as the node-revision it is a copy of.

Similarly, when copyfrom isn't present, and the action isn't an add or
copy, then the kind of the thing identified by (PATH, REVISION) must
agree with the kind of the thing identified by (PATH, -1+REVISION).

Also, Subversion filesystems do not allow the root directory ("/") to be
deleted or replaced.

Re: Please review this dumpfile documentation

Posted by "Eric S. Raymond" <es...@thyrsus.com>.
Daniel Shahaf <da...@elego.de>:
> You'll need to submit an ICLA to the ASF Secretary:
> http://www.apache.org/licenses/#clas
> 
> Then Greg Stein will submit an account request to root@, who will create
> your account.  This may take a couple of days altogether.

ICLA sent.  Copied to Greg.  Greg, please try to get me "esr".
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by Daniel Shahaf <da...@elego.de>.
Eric S. Raymond wrote on Tue, Dec 20, 2011 at 06:40:55 -0500:
> Eric S. Raymond <es...@thyrsus.com>:
> > > Perhaps commit the work-in-progress draft (i.e., 0.3) to notes/ and work
> > > on it there?
> > 
> > I'll do so.  As a matter of etiquette (and advice from Greg Stein) I have
> > been waiting for a full committer to suggest that it should go in.  Thanks. 
> 
> I appear to not have write access to the new repo at apache.org.  Would
> somebody fix this, please?

You'll need to submit an ICLA to the ASF Secretary:
http://www.apache.org/licenses/#clas

Then Greg Stein will submit an account request to root@, who will create
your account.  This may take a couple of days altogether.

> -- 
> 		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by "Eric S. Raymond" <es...@thyrsus.com>.
Eric S. Raymond <es...@thyrsus.com>:
> > Perhaps commit the work-in-progress draft (i.e., 0.3) to notes/ and work
> > on it there?
> 
> I'll do so.  As a matter of etiquette (and advice from Greg Stein) I have
> been waiting for a full committer to suggest that it should go in.  Thanks. 

I appear to not have write access to the new repo at apache.org.  Would
somebody fix this, please?
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by "Eric S. Raymond" <es...@thyrsus.com>.
Daniel Shahaf <da...@elego.de>:
> Eric S. Raymond wrote on Tue, Dec 20, 2011 at 05:14:49 -0500:
> > Your answers, including a footnote aboout this buglet, will go into the 0.4
> > draft.  Thanks.
> 
> Perhaps commit the work-in-progress draft (i.e., 0.3) to notes/ and work
> on it there?

I'll do so.  As a matter of etiquette (and advice from Greg Stein) I have
been waiting for a full committer to suggest that it should go in.  Thanks. 
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by Daniel Shahaf <da...@elego.de>.
Eric S. Raymond wrote on Tue, Dec 20, 2011 at 05:14:49 -0500:
> Your answers, including a footnote aboout this buglet, will go into the 0.4
> draft.  Thanks.

Perhaps commit the work-in-progress draft (i.e., 0.3) to notes/ and work
on it there?

> -- 
> 		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by "Eric S. Raymond" <es...@thyrsus.com>.
Stephen Butler <sb...@elego.de>:
>   - Adding a file with history twice _in two revisions_ succeeds silently (!)
> 
> Looks like our sanity-checking of 'svnadmin load' input needs some work.

And yet another reason this document is a good idea - it's requiring a look in
dusty corners where bugs lurk. I would have been mildly surprised if we hadn't
turned up at least one such minor glitch.

Your answers, including a footnote aboout this buglet, will go into the 0.4
draft.  Thanks.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Re: Please review this dumpfile documentation

Posted by Stephen Butler <sb...@elego.de>.
On Dec 19, 2011, at 20:36 , Eric S. Raymond wrote:

> I want to get it finished and into the repo, where it will answer 
> support questions so you don't have to.  This is the 0.3 version; please
> note the open questions listed near the beginning.

[[[
Open questions:

1. Is replace on a nonexistent path expected to fail?

2. Is add on an existing path expected to fail?
]]]

Hi Eric,

Yes, and yes.  I'm not an expert server-side hacker, but it'd be a cryin' 
shame if either of those operations was allowed.  The server code is
supposed to error out on any conflict, as explained in the comment to
svn_fs_commit_txn():

  http://subversion.apache.org/docs/api/1.6/group__svn__fs__txns.html#gae86163e9e3623168cee620446a40e755


For a reality check, I tried some very simple surgeries on a valid dumpfile,
and loaded it into an empty repository.

1. Replacing a non-existent path is rejected with "E160013: File not found".

2. Adding path that already exists succeeds in at least one case. :-( 

  - Adding a directory twice fails with "E160020: File already exists".

  - Adding a (fresh) file twice fails with "E160004: Invalid change ordering: 
    new node revision ID without delete".

  - Adding a file with history twice in the same revision fails with "E160004: 
    Invalid change ordering: new node revision ID without delete".

  - Adding a file with history twice _in two revisions_ succeeds silently (!)

Looks like our sanity-checking of 'svnadmin load' input needs some work.

Cheers,
Steve

--
Stephen Butler | Senior Consultant
elego Software Solutions GmbH
Gustav-Meyer-Allee 25 | 13355 Berlin | Germany
tel: +49 30 2345 8696 | mobile: +49 163 25 45 015
fax: +49 30 2345 8695 | http://www.elegosoft.com
Geschäftsführer: Olaf Wagner | Sitz der Gesellschaft: Berlin
Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194