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]
