[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: export every version of every file

From: Alf Lacis <Alf.Lacis_at_aiscientific.com>
Date: 2006-05-26 05:04:56 CEST

Steve's batch file, see below, to "Get All Revs For One File" works great:
thanks, Steve, for your time and patience.

(1) To get all revs FOR ALL FILES IN A DIRECTORY, I created a second batch
file which calls Steve's:

This I've called get_all_files.bat:
-------------------------------------------------------------
@echo off
rem Gets all revisions for all files in the current directory
rem Requires:
rem subversion (svn)
rem get_all_revs.bat
rem windows (XP?)
rem you need to start cmd.exe with /v to enable command extensions.
rem 20060526 alf Original version.
for /f "usebackq delims=" %%I in (`svn list %1`) do (
        call get_all_revs.bat "%~1%%I"
)
-------------------------------------------------------------
As you can see, for this to work, I called Steve's file, see below,
"get_all_revs.bat"

If someone can think of a better way to parse file names with spaces than:
    /f "usebackq delims="
then could you please tell us. I'd hate to think that one day a file will
have a "" in the file name!

(2) I found that "Command Extensions" were *NOT* enabled by default on my
XP installation.

I *had* to pass "/v" to cmd.exe on my work PC (Microsoft Windows XP,
Professional, Version 202, Service Pack 2).

(3) This is not subdirectory-recursive. Anybody like to extend this
further for doing subdirectories?

Regards,
Alf

> Steve Williams
> 25/05/2006 08:40 PM
> To: users@subversion.tigris.org
> cc:
> Subject: Re: export every version of every file
>
>This is the final version of the batch file. It now works with URLs
>that contain spaces. Also of note is that you need to have Command
>Extensions enabled (on by default in XP, use the /v option for cmd.exe
>on previous versions of Windows).
>
<<<<<<<<<<<Save this as "get_all_revs.bat" << Alf
>@echo off
>for /f "usebackq tokens=1,2" %%I in (`svn log %1`) do (
> set REV=%%I
> if "%%J" == "|" (
> if "!REV:~0,1!" == "r" (
> echo ^>svn export -r !REV:~1! %1 "%~n1.!REV!%~x1"
> svn export -r !REV:~1! %1 "%~n1.!REV!%~x1"
> echo.
> )
> )
>)
>
>
>--
>Sly

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 26 05:06:08 2006

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.