Hello Plamen,

On Wednesday 23 July 2008 MMM MMM wrote:
> I am new to both fsvs and svn. Please, excuse me if my questions are
> irrelevant or if question are related to svn.
Never mind, just ask!
FSVS has a lot in common with subversion, so it helps if you already know 
about that - especially the svn command line client.

> 1. About svn repository
>
> case 1: I commit file XYZ; then I unversion and ignore file XYZ.
> -> How to completely remove file XYZ from svn repository and save disk
> space?
You can't (at least ATM); please search for "svn obliterate" for more details.
A short search found me
  http://svnbook.red-bean.com/en/1.0/svn-book.html#ftn.id2519606


> case 2: I do daily commits; once in a month I remove all garbage (empty
> trash, uninstall temp/test software). -> How to shrink svn repository and
> remove all daily commits?
>
> Does fsvs handle these cases? (or maybe svndumpfilter is the answer?)
>
> If I am able to shrink my svn repository, then I will not worry about
> ignore filters.
Well, I think your best bet would be to do the daily commits in a special path 
in the repository; keep "interesting" things as a copy in another path, and 
try to filter that daily path out each month.


> 2. I would like to see examples about ignore filters (I did not check
> everything in mail archive yet, but found "howto backup" tutorial and "FSVS
> for sysadmins"). I am linux beginner and can't decide easily. Could I ask
> for advice:
>
>
> Are these good ignore filters:

You can use the "**" pattern for matching in arbitrary depths:

Instead of
> ./root/.mozilla/firefox/*/Cache/**
> ./home/*/.mozilla/firefox/*/Cache/**
I'd just use
        ./**/.mozilla/firefox/*/Cache/**

And similar for the others.
> ./root/.nautilus/metafiles/file**
> ./home/*/.nautilus/metafiles/file**
> ./root/.thumbnails/**
> ./home/*/.thumbnails/**
> ./root/.Trash/**
> ./home/*/.Trash/**
> ./root/.Trash/**
> ./home/*/.Trash/**
Do you really work as root often? That's not recommended in unix; I'd suggest 
using "sudo" or "su", when the need arises.

> I do not like global ignore filters like:
> ./**~
> So, I am planning to ignore each file separately like:
> ./etc/apt/sources.list~
> Is it good or bad?
That's bad, IMO - you'll soon be drowned in ignore patterns.

Why don't you want to use the global ignore patterns?


> To ignore apt cache or to clear cache before commit?
> /var/cache/apt/archives/**
I'd ignore it - that's safer, because you can't forget to empty it.


> I see many add/delete entries about:
> /var/lib/scrollkeeper/index/**
> /var/lib/scrollkeeper/TOC/**
> Can I add ignore filter for these? As I understand all these are saved in
> svn repository and it will grow up slowly.
Yes, correct.
If you find that it grows fast, because the XML data gets resorted often, it 
might be a good idea to put a commit-pipe property on these files (to keep 
them in canonical, sorted form) - or to just ignore them, because it's only a 
package to be extracted - and not your personal data that can be lost.


> "Howto backup" tutorial does not say anything about "ignore log files". So
> I suppose it is bad idea.
Well, it depends on your use-case.

I currently use FSVS for /etc on some machines; for the complete / on a 
test-machine; and I'll use it for /home soon.

If you're keeping a highly sensitive server, you'll want to keep 
*everything* - if it's just to know what could have caused the latest 
breakage in your asterisk or X installation, keeping /etc with some ignores 
is sufficient.


I don't know what you're after - and, to be honest, I don't really know myself 
what is appropriate for my private machine in the long run.
Currently I store /etc - and plan to do /home, too, as I wrote above.

But the possible problem of inflating the repository is what keeps me from 
using it on the root filesystem, as I'm running debian unstable - and there 
are daily changes, which I don't want to keep.


I plan to write my own subversion repository backend (like bdb and fsfs), that 
should allow easy purging of data - so cleaning up should be possible.
But if I ever get to do that it'll take at least a year, I think.


> 3. About ignore filters and usage (please, correct me if I am wrong).
> As I understand, before commit I have to check status. 
You don't *have* to - you can, but you don't need to.

> Say I have new file 
> XYZ, then I have to decide:
> - to delete file XYZ 
> - to ignore file XYZ
> - to add ignore filter for file XYZ or all files with similar name or
> location 
> - to commit and keep history for file XYZ 
>
> How do you "ignore file XYZ" without ignore filter (reasons: next time when
> I check status I want to see file XYZ; file XYZ is not ready for commit or
> maybe will never be commited). Do you set temp ignore filter and after
> commit remove it?
That's one way to do that.
If the file XYZ is easily separated from the others, because of the hierarchy, 
then you can tell commit some paths:
        /dir1/...
        /dir2/...
        /abc/def/XYZ
        /abc/ghi/...
        /dir5/...
If you do
        fsvs ci dir1 dir2 abc/ghi dir5
then abc/def/XYZ won't be committed.


> Again sorry for my beginner questions and thanks in advance.
Never mind - everyone's a beginner sometime.

I hope I could help you a bit; if you've got any other questions, just ask.


Regards,

Phil


-- 
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to