views:

226

answers:

3

Hello, everyone!

How could I let SVN list all files which were ever committed to a repository (if possible, along with location and revision).

More exactly: I need all ever existed paths.

If someone knows how to do a fulltext search on the entire repository (including all revisions), this would help me even better.

Example

Let's say I commit a file SomeFileOne.txt, later rename it to SomeFileTwo.txt.

After performing the required task (for which solution I'm looking for), I should get not only SomeFileTwo.txt, but also SomeFileOne.txt.

...
/trunk/SomeProject/SomeFileOne.txt - revision 100
/trunk/SomeProject/SomeFileTwo.txt - revision 101
...
A: 

If you just want to browse around you might get what you want with one of the svn web access tools. A roundup was written up over here.

DigitalRoss
+3  A: 

Found out something by playing around.

A slow-and-dirty solution might be:

svnadmin dump MY_REPO | grep Node-path

Output looks like:

* Dumped revision 3039.
Node-path: trunk/proj1/src/p/keywords/main/NoOp.java
Node-path: trunk/proj1/src/p/keywords/main/ScopeDecl.java
* Dumped revision 3040.
Node-path: trunk/myCommons/src/i/IConverter.java
Node-path: trunk/myCommons/src/i/ListUtils.java
* Dumped revision 3041.
Node-path: trunk/proj1/src/p/execution/impl/IterativeExecuter.java
Node-path: trunk/proj1/src/p/keywords/DeclConstant.java

Well, at least it solves my problem.

NOTE: Dumped revision ... is shown, because it's stderr.

java.is.for.desktop
Oh, stderr and stdout seems not to be synchronized.
java.is.for.desktop
+2  A: 

To me, svn log -v would have been a more intuitive method - or have you already tried that ? Is it possible to share the need for requiring such an extensive report on all the file commits ever made in the repository?

Critical Skill
great idea! works!
java.is.for.desktop