You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Féliciano Matias <fe...@free.fr> on 2002/07/12 05:41:31 UTC

some requests/questions .

First, excuse my poor english. 

** Can i do a hot dump (with svnadmin dump). 

** Is there any problems using a repository with http://... for remote
users and the same repository with file://... for local users (not very
useful  ...). 

** I think it will be good to have mod_dav_svn in gci mode (I don't know
anything about mod_dav !). This will be great with suexec of apache. So 
the user can be less dependent of the system administrator. 

** Are there any plan to use a classique db (for exemple postgresql
which is a full-feature db, transation, versionning, hot backup, ...). 
this should give the possibility do to something like this in httpd.conf
and perhaps in .htaccess. : 

<Location /svn/repos/subversion> 
   DAV svn 
   SVNPath postgresql://user:password@intranet/db_name 
# or with a subversion server :o) 
   SVNPath svn://... 
</Location> 

This feature make the cgi version of mod_dav_svn useless and permit the
use of svnadmin on a remote repository. 

howerer, it's good to keep an embedded db version of subversion that
don't require a db administrator. 

** For backup, i would like something like this : 
$ svnadmin dump repos 0 youngest_version > full_backup 
$ svnadmin dumpdiff repos youngest_version new_youngest_version >
partial_backup 

This can also help to keeping read-only mirrors of a repository. 




Some ideas, some dreams...


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

Re: some requests/questions .

Posted by Ben Collins-Sussman <su...@collab.net>.
Féliciano Matias <fe...@free.fr> writes:

Re: some requests/questions .

Posted by Féliciano Matias <fe...@free.fr>.
Le sam 13/07/2002 à 00:54, Ben Collins-Sussman a écrit :

> To me, a backup is something you quickly copy to tape every night --
> or in our case, after every single commit.  It needs to be fast.  It
> exists for the short-term only;  there's no worry that I suddenly
> won't have the right tools around to read the backup.

I keep in mind that restoring a backup is the last chance when every
thing go wrong.


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

Re: some requests/questions .

Posted by Ben Collins-Sussman <su...@collab.net>.
Féliciano Matias <fe...@free.fr> writes:

Re: some requests/questions .

Posted by Féliciano Matias <fe...@free.fr>.
Le ven 12/07/2002 à 14:48, Ben Collins-Sussman a écrit : 
> Féliciano Matias <fe...@free.fr> writes:
> ----
> 

> 
> > Le ven 12/07/2002 à 07:41, Féliciano Matias a écrit :
> > > First, excuse my poor english. 
> > > 
> > > ** Can i do a hot dump (with svnadmin dump). 
> > > 
> > 
> > I see a python script (tool/backup/hot-backup.py) that do the jobs by
> > doing some copy file. I prefer a real dump (svnadmin) that is more
> > portable/secure.
> 
> As I said, 'svnadmin dump' is not for backups.  It has nothing to do
> with the BSD 'dump' command that you would spool to a tape device.
> It's for data migration, and is very slow.
> 
> 'cp' is for backups.  What is un-portable.

un-portable : 

This is un-portable between version of subversion. I see un thread here
about "Problem compiling r2092 in order to convert database". I don't
want to deal with such problem. 

I use postgresql and i alwars do dump (dump in clear text). why ? 
Here are release of postgresql that need a dump/restore for migration : 
Release date: 2002-02-04 => 7.2 
Release date: 2000-05-08 => 7.0 
Release date: 1999-06-09 => 6.5 
# 5 un-compatible binary formats in 2 year ! 
Release date: 1998-10-30 => 6.4 
Release date: 1998-03-01 => 6.3 
Release date: 1997-10-02 => 6.2 
Release date: 1997-06-08 => 6.1 
Release date: 1997-01-29 => 6.0 

Image, you update a Redhat (or Suse, or ...) systeme based. Redhat only
provide one version of postgresql by release. Redhat 7.2 has postgresql
7.1. Redhat does not provide version 6.5 through 6.0 of postgresql for
user upgrading from Redhat 6.2, 6.0, ... 

This is a big problem. A big problem only if you don't have dump but
only binary backup of your database. 

> or insecure about 'cp'? Or
> python?  This is how BerkeleyDB was designed to be backed up.
cp is definitely a secure tool. 

If your data are in dump format of postgresql, it is more "safe" (my
english stay very poor). Your data is readable by most of the version of
postgresql. A dump of postgresql is sql command and easy to import in
oracle for exemple (with sed help). 

When subversion can also use sql as db backend, i always use "svnadmin
dump". So if my computer which use svn with sql backend crash i can
import my backup in a computer which as svn only with bdb backend.


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

Re: some requests/questions .

Posted by Ben Collins-Sussman <su...@collab.net>.
Féliciano Matias <fe...@free.fr> writes:

Re: some requests/questions .

Posted by Féliciano Matias <fe...@free.fr>.
Le ven 12/07/2002 à 07:41, Féliciano Matias a écrit :
> First, excuse my poor english. 
> 
> ** Can i do a hot dump (with svnadmin dump). 
> 

I see a python script (tool/backup/hot-backup.py) that do the jobs by
doing some copy file. I prefer a real dump (svnadmin) that is more
portable/secure.




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

Re: some requests/questions .

Posted by Féliciano Matias <fe...@free.fr>.
Le sam 13/07/2002 à 01:00, Ben Collins-Sussman a écrit :
> Féliciano Matias <fe...@free.fr> writes:
> 
> If you were to do this:
> 
> $ svnadmin dump 100 200 > dumpfile1
> $ svnadmin dump 200 300 > dumpfile2
> 
> and then edit dumpfile2 to *remove* revision 200 (so that dumpfile2
> begins with r201 as a tree-delta against r200), then
> 
> $ cat dumpfile1 dumpfile2 | svnadmin load repos
> 
> should work just fine.

It work. Thanks.

$ cat dumpfile1 | svnadmin load repos
$ cat dumpfile2 | svnadmin load repos

work also (I only need to add "SVN-fs-dump-format-version: 1" at the top
of the file).




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

Re: some requests/questions .

Posted by Ben Collins-Sussman <su...@collab.net>.
Féliciano Matias <fe...@free.fr> writes:

> > You can still create a partial dump as you
> > suggest by running 'svnadmin dump repos N N+M'.
> $ svnadmin dump repos 0 youngest_version > full_backup
> $ svnadmin dump repos current_version_full_backup youngest_version >
> partial_backup 
> $ cat full_backup partial_backup | svnadmin load repos 
> 
> This does not work .

This *almost* works.  We decided not to go all the way.

The issue is that the first revision in each dumpfile is always a
tree-delta against revision 0, the empty filesystem.  In other words,
it's a complete tree of "adds".

If you were to do this:

$ svnadmin dump 100 200 > dumpfile1
$ svnadmin dump 200 300 > dumpfile2

and then edit dumpfile2 to *remove* revision 200 (so that dumpfile2
begins with r201 as a tree-delta against r200), then

$ cat dumpfile1 dumpfile2 | svnadmin load repos

should work just fine.


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

Re: some requests/questions .

Posted by Féliciano Matias <fe...@free.fr>.
Le ven 12/07/2002 à 14:44, Ben Collins-Sussman a écrit : 
> Féliciano Matias <fe...@free.fr> writes:
> 
> > First, excuse my poor english. 
> > 
> 
> > ** Are there any plan to use a classique db (for exemple postgresql
> > which is a full-feature db, transation, versionning, hot backup, ...). 
> > this should give the possibility do to something like this in httpd.conf
> > and perhaps in .htaccess. : 
> 
> Yes.  People are working on SQL backends.
> 
Great. 

> 
> > 
> > ** For backup, i would like something like this : 
> > $ svnadmin dump repos 0 youngest_version > full_backup 
> > $ svnadmin dumpdiff repos youngest_version new_youngest_version >
> > partial_backup 
> 
> What is 'dumpdiff'?
I want something that permit this : 

$ cat full_backup partial_backup | svnadmin load repos 

partial_backup is created by something like "svnadmin dumpdiff ...". 

A possible backup strategy : 
* every month : 
$ svnadmin dump repos 0 youngest_version > full_backup  # very slow...

* every night : 
$ svnadmin dumpdiff repos current_version_full_backup youngest_version >
partial_bakcup  # fast 

This can be use to maintain a mirror of the repository (if master cash i
quickly switch to the mirror). 
$ svnadmin dumpdiff local_repos current_version_mirror youngest_version
| svnadmin load remote_repos 

remote_repos is not possible. 
| rsh remote svnadmin load repos 

It seems that svnadmin proceed in this way : 
$ svnadmin dump repos 3 5 > dump 
* Dumped revision 3. # snapshot 
* Dumped revision 4. # changes 
* Dumped revision 5. # changes 

> You can still create a partial dump as you
> suggest by running 'svnadmin dump repos N N+M'.
$ svnadmin dump repos 0 youngest_version > full_backup
$ svnadmin dump repos current_version_full_backup youngest_version >
partial_backup 
$ cat full_backup partial_backup | svnadmin load repos 

This does not work .


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

Re: some requests/questions .

Posted by Ben Collins-Sussman <su...@collab.net>.
Féliciano Matias <fe...@free.fr> writes:

> First, excuse my poor english. 
> 
> ** Can i do a hot dump (with svnadmin dump). 

hot-backup.py already exists.  It's a feature of Berkeley DB.

For our own repository, we run hot-backup.py as a post-commit hook script.

> 
> ** Is there any problems using a repository with http://... for remote
> users and the same repository with file://... for local users (not very
> useful  ...). 

No, no problems.

> ** Are there any plan to use a classique db (for exemple postgresql
> which is a full-feature db, transation, versionning, hot backup, ...). 
> this should give the possibility do to something like this in httpd.conf
> and perhaps in .htaccess. : 

Yes.  People are working on SQL backends.

BerkeleyDB still has the 'full features' you mention, however -- like
transactions, hot backups, etc.  It just doesn't have rows.


> howerer, it's good to keep an embedded db version of subversion that
> don't require a db administrator. 

That's also true.  :-)

> 
> ** For backup, i would like something like this : 
> $ svnadmin dump repos 0 youngest_version > full_backup 
> $ svnadmin dumpdiff repos youngest_version new_youngest_version >
> partial_backup 

What is 'dumpdiff'?  You can still create a partial dump as you
suggest by running 'svnadmin dump repos N N+M'.

Actually, I need to point out that 'svnadmin dump' is *not* meant for
backup purposes.  It's meant to *migrate* data from one repository to
another.  For example, we use it whenever we change the internal DB
design of the repository.  And it will be needed if you want to move
your data from a BerkeleyDB repository to a SQL repository.

If you want to make a backup, use hot-backup.py.  BerkeleyDB is
designed to be backed up while running.  'svnadmin dump' is too
laborious.

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