Hi,

I need a little help with commit and update pipes. I want to have a 
group pattern which do following things:
1) commit only meta data - reasons: history of meta data changes, do not 
commit useless file and prevent repository grow
2) log names (of useful) files - reason: using the log I could tar 
(archive) these files

Philipp, thank you for your answer about "ignore per url". About my 
other email - I think *part* of my problems can be solved using 
commit/update pipe scripts and skip the file content.


Please check the attached archive 'meta.tar.bz2'. Inside the archive: 
commit-pipe script, update-pipe script, 3 group files:

Group 'meta':
1) commit is not changed
2.1) if file does not exists - update is not changed
2.2) if file exists - update only meta data

Example how do I plan to use this group. Ignore dump:
<<
group:meta,./dev/**
...
 >>

Group 'mign' and 'mtar_data_mail':
1) do not commit file content
2) update only meta data if file exists
3) log the file from this group, after commit with message "full 
backup", create a tar archives.

Example how do I plan to use these groups. Ignore dump:
<<
group:mign,./dev/**
group:mtar_data_mail,./home/*/.mozilla-thunderbird/*/ImapMail/*/**
...
 >>

I wrote these files, but I did not test it yet. Few questions:
1.1) I do not understand, it is a 'pipe' (commit) or scripts are called 
for every file (update)?

1.2) Commit-pipe script is maybe wrong. I am using the same variables 
like in update-pipe. Fsvs docs does not say anything about variables in 
commit-pipe script.

2) I check the fsvs docs. I am not using '/usr/bin/install'. I am using 
chmod, chown, touch and mv (because docs say: "more or less equivalent 
operation"). I added '--force' parameter to 'mv'. Is it ok?

3) In update-pipe script I am using '$$' (process id) because I need to 
create unique file name. And because we do not have env variable like 
$revision.


Little more about my troubles.
I am not linux expert and I can't find (or make) a good backup solution 
(except backup the partition from time to time).

Fsvs is nice and the only one (version control, history log, status 
report). Maybe it is mostly back end tool - no GUI, no wizards, it is 
not 'plug&play', it is not 'single click backup', it is not 'install and 
backup', one say ignore /dev, other say you need /dev for full restore. 
(it is not complain, it is just opinion).

My fsvs working copy is '/' - I backup all files. My repository is a 
little mess because:

1. when I commit 'install and setup program XYZ' it commit 1000 other 
files. The history become useless and unreadable.
Example: 1) install program XYZ; 2) search google, read and setup 
program XYZ; 3) commit program XYZ, config files and extra files. As 
minimum it will commit files changed by firefox.

2. If you want to keep the history forever, then you must ignore (not 
commit) all useless data, or your repository will grow very quickly.

2.1. What to do with big size binary files which are changed very often. 
Some are "cache files" and I understand they are "cache files", so I can 
ignore. Some files I do not understand or they are binary 
settings/config files and I have to commit - in case of crash, I must be 
able to do full restore.

2.2. What to do with /dev. If I ignore it, I will miss the history. I 
need at least the meta data (permissions). If I keep /dev, then it will 
be commited after every reboot.
Example: when installed VirtualBox there was an issue and google told: 
change /dev/disk permissions. It is just example, but in all similar 
cases, I want to keep history of these changes.

2.3. What about my thunderbird mail file - ignore because it is 300 MB, 
but if possible I will "commit only meta data".

3. In case of crash, if you want to do full restore, then you have to 
commit everything. This will create a big repository. One day you have 
to delete all history and create a new repository (bye bye history). Or 
you have to analyze every "often changed binary file" and write 100 
ignores. New installed programs -> new ignores. If /var/cache was used 
like /var/tmp it will be very easy.

Anyone who share the same problems? Any solutions? Or any advice like 
ignore (or commit) and do not bother? Is it crazy or/and stupid solution 
(commit only meta data)?


Thank you in advance,
Plamen.

------------------------------------------------------
http://fsvs.tigris.org/ds/viewMessage.do?dsForumId=3928&dsMessageId=1261720

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Attachment: meta.tar.bz2
Description: application/bzip

Reply via email to