svndump filter: How to pretend files were added to trunk

2010-10-13 Thread Mathieu Malaterre
Hi there !

  I am trying to cleanup my SVN history. Back in the beginning of the
project I started using SVN without the standard layout (trunk,
branches, tags parent dir). Now using svndumpfilter, I would like to
pretend that initial history [r1-1097] did happen within the trunk
directory. For that I use svnadmin dump and then play with node-path
using sed:

cat initial.dump | sed -e 's,^Node-path: Applications,Node-path:
trunk/Applications,' -e 's,^Node-copyfrom-path:
Applications,Node-copyfrom-path: trunk/Applications,' > clean.dump

  Since trunk directory did not exist I tried doing:

svnadmin create clean
svn mkdir  -m"Initial project roots" file://`pwd`/clean/trunk
svnadmin load --quiet --ignore-uuid  clean < clean.dump

  However it fails with:

svnadmin: File not found: transaction '835-n7', path 'trunk/Applications'

Now if do:

svnadmin create clean
svn mkdir  -m"Initial project roots" file://`pwd`/clean/trunk
svn mkdir -m"Initial project roots" file://`pwd`/clean/trunk/Applications
svnadmin load --quiet --ignore-uuid  clean < clean.dump

It fails with:

svnadmin: File already exists: filesystem 'clean/db', transaction
'184-55', path 'trunk/Applications'

Am I missing something ? Is there a tool to re-root a bunch of
files/directories that were not initially created within a 'trunk' dir
?

Thanks !
-- 
Mathieu


svnsync on subdirectory + simplify history

2010-03-10 Thread Mathieu Malaterre
Hi there,

  After much struggle with svndumpfilter, I realize I did not
understand the errors reported. Instead I used svnsync to extract a
subdirectory of my original subversion server. What I would like now
is simplify the history and remove any empty revision.

  Here is what I did (original https svn server is 1.4.2)

  svnadmin create mirror_project
  svnsync init file://`pwd`/mirror_project
https://original.server.com/svn/project
  svnsync sync file://`pwd`/mirror_project

  svnadmin create mirror_trunk
  svnsync init file://`pwd`/mirror_trunk
file://`pwd`/mirror_project/Code/project1
  svnsync sync file://`pwd`/mirror_trunk

the final mirror_trunk svn repository has every single revisions. I
even tried a :

  svnadmin dump file://`pwd`/mirror_trunk | svndumpfilter
--drop-empty-revs --renumber-revs include Code/project1 > simple.dump

But it seems as if nothing happened.

Thanks for suggestion !
-- 
Mathieu


Re: Creating Dump For Specific Folders Of SVN Repository

2010-04-02 Thread Mathieu Malaterre
On Fri, Apr 2, 2010 at 12:57 PM, Andy Levy  wrote:
> On Fri, Apr 2, 2010 at 04:45, Venkata Badipatla
>  wrote:
>> Hi All,
>>
>>
>>
>> I need to create a dump file for the specific folders of the SVN repository.
>> Can anyone please help me out?
>>
>>
>>
>> Directory hierarchy of the SVN repository is
>>
>>
>>
>> /Project1
>>
>> /trunk
>>
>> /tags
>>
>>  /branches
>>
>> /Project2
>>
>> /trunk
>>
>> /tags
>>
>>  /branches
>>
>> /Project3
>>
>> /trunk
>>
>> /tags
>>
>>  /branches
>>
>>
>>
>> I need to create a dump file for a folder “scm_branch_1” which is in the
>> location  “/project3/branches/scm_branch_1”
>>
>>
>>
>> Note: I am working on windows environment.
>
> Pipe the output of svnadmin dump through svndumpfilter and only
> include the path(s) you need.
> http://svnbook.red-bean.com/en/1.5/svn.ref.svndumpfilter.commands.c.include.html
>

If this does not work for you (because you copy files from -say-
Project1 to Project2), then used svnsync which I found more robust
than svndumpfilter (you can svnsync a subdir !). There are also
svndumpfilter2 / svndumpfilter3 and svndumpfilter4 on the net...

Good luck
-- 
Mathieu


SVN-Notify and such

2010-05-19 Thread Mathieu Malaterre
Hi there,

  I am looking for a way to send email after each commit for my SVN
server. There used to be page describing all options at:

http://subversion.tigris.org/links.html#misc-utils

  I cannot find where this page moved.

  Basically I am looking for a light solution (do not send the output
of UNIX diff in email). I have a websvn and a viewvc available.

Thanks
-- 
Mathieu