You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Sander Striker <st...@apache.org> on 2003/05/05 22:22:22 UTC

RA layer change needed?

Hi,

To be able to support:

 svn cat -rX FILE

and

 svn diff -rX:Y FILE

where FILE is some file in the working copy, we'd need something new in
the RA layer.  At least IMHO ;).  What would be needed is the following:

  given FILE at revision Z, go back to revision X and return its content (and path?).

Why would you want this?  Consider a file that was moved after revision X,
but prior to revision Z.  Simply retrieving FILE@X (by path) could result in
getting an entirely unrelated file that just happens to be at that location.

Especially for doing diffs this is usefull, since you want to compare the contents
of the file between rev X:Y, no matter where they are located at X or Y.

Maybe this can be done using the update editor, I'm not sure.

Thoughts?

Sander


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: RA layer change needed?

Posted by cm...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:

> Philip Martin <ph...@codematters.co.uk> writes:
> 
> > Perhaps we really need a history function, something that returns the
> > revisions and paths at which an item changed.  A bit like the verbose
> > log function but without the overhead of the messages or the entries
> > within a directory.  A function to tell me the essentials about the
> > path: it changed at revision X, it got copied from here at revision Y.
> 
> I agree.  I wonder if we can flesh out a proposed prototype here on
> the list.  Adding a new RA function is no trivial matter; I wanna make
> sure the prototype is perfect.  :-)

Such a function is already in the works.  svn_fs_node_history() has
been on my fs-schema-changes TODO list for some time.  It would
essentially replace svn_fs_revisions_changed() (that crufty old piece
of poo), and would return a list of, among potential other things,
real paths and revisions in the ancestry of a node, including those
where a parent directory was copied but the node itself was unchanged.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: RA layer change needed?

Posted by Ben Collins-Sussman <su...@collab.net>.
Philip Martin <ph...@codematters.co.uk> writes:

> Perhaps we really need a history function, something that returns the
> revisions and paths at which an item changed.  A bit like the verbose
> log function but without the overhead of the messages or the entries
> within a directory.  A function to tell me the essentials about the
> path: it changed at revision X, it got copied from here at revision Y.

I agree.  I wonder if we can flesh out a proposed prototype here on
the list.  Adding a new RA function is no trivial matter; I wanna make
sure the prototype is perfect.  :-)



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: RA layer change needed?

Posted by Philip Martin <ph...@codematters.co.uk>.
"Sander Striker" <st...@apache.org> writes:

> To be able to support:
> 
>  svn cat -rX FILE
> 
> and
> 
>  svn diff -rX:Y FILE
> 
> where FILE is some file in the working copy, we'd need something new in
> the RA layer.  At least IMHO ;).  What would be needed is the following:
> 
>   given FILE at revision Z, go back to revision X and return its
>   content (and path?).

Just the path, not the content.

  svn diff -rX:Y directory

What is the "content" of a directory?  Once the path is known the
content can be obtained if required.

Perhaps we really need a history function, something that returns the
revisions and paths at which an item changed.  A bit like the verbose
log function but without the overhead of the messages or the entries
within a directory.  A function to tell me the essentials about the
path: it changed at revision X, it got copied from here at revision Y.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org