You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by John Belmonte <jo...@neggie.net> on 2005/01/21 03:41:14 UTC

need for "svn ancestorlist"

I'd like an efficient way to get copyfrom info on the command line.  It 
can be pulled from "svn log -v --stop-on-copy", but that might require 
transfer of thousands of revision logs.  Something like:

   $ svn alist foo
   /trunk/foo:2050

By default, alist only shows the immediate parent.  With another option, 
it might walk up the ancestor tree:

   $ svn alist -R foo
   /trunk/foo:2050
       /trunk/bar:300
           /home/john/bar:244

If Subversion someday acquires built-in merge tracking, an option could 
be added to this command to not only show the "blood" parent of a target 
(via "svn cp"), but also ancestors by merge:

   $ svn alist --with-merged foo
   /trunk/foo:2050
   /branches/b1/foo:8880
   /branches/b2/foo:9000


-John

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

Re: need for "svn ancestorlist"

Posted by Greg Hudson <gh...@MIT.EDU>.
On Fri, 2005-01-21 at 01:38, Chia-liang Kao wrote:
> What is needed for this is to implement the nearest_copy feature in fs, and
> relevent facades in the ra layer.

We can get the closets copy from the FS quickly (I wrote an
implementation for FSFS, and it's also doable in BDB)... but it requires
skipping authorization checks on all the committed revisions, which is a
potential security hole.  So I'm not sure if we'll ever see this. :/

(mod_authz_svn of course only does security on paths.  But we promise to
call the Apache authorization callback for each <rev,path> pair in the
history of a file, and that callback could conceivably behave
differently for different revs.  Also, in the future, we may have a true
acl system.)

Issue #1970 if anyone wants to read more on this.


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

Re: need for "svn ancestorlist"

Posted by Chia-liang Kao <cl...@clkao.org>.
John Belmonte <john <at> neggie.net> writes:
> I'd like an efficient way to get copyfrom info on the command line.  It 
> can be pulled from "svn log -v --stop-on-copy", but that might require 
> transfer of thousands of revision logs.  Something like:
> 
>    $ svn alist foo
>    /trunk/foo:2050

What is needed for this is to implement the nearest_copy feature in fs, and
relevent facades in the ra layer.

I have exactly the same feature implemented in svk, with some revprop for
caching repository-wide previous-copy, to avoid brute force node_history
tracing.  FWIW, if you really need this feature now, you can use svk,
attaching your repository:

$ svk info /bps/rt-bnb
Depot Path: /bps/rt-bnb
Revision: 2159
Last Changed Rev.: 2084
Copied From: /clkao/rt-bnb, Rev. 2081
Merged From: /mirror/rt/branches/rt-3.3, Rev. 1201
Merged From: /mirror/rt/branches/3.2-RELEASE, Rev. 1499
Merged From: /mirror/rt/branches/rt-3.1, Rev. 1209
Merged From: /clkao/rt-bnb, Rev. 2081
Merged From: /mirror/rt/branches/3.3-TESTING, Rev. 2012
Merged From: /mirror/rt/trunk, Rev. 1199

Cheers,
CLK



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

Re: need for "svn ancestorlist"

Posted by Ben Collins-Sussman <su...@collab.net>.
On Jan 20, 2005, at 9:41 PM, John Belmonte wrote:

> I'd like an efficient way to get copyfrom info on the command line.

By the way, there's already a network (RA) API for this:  
RA->get_locations().  So you could easily write a program to fetch and 
display this info efficiently.


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