You are not logged in.

#1 2011-02-28 04:04:50

vinhsynd
Member
Registered: 2010-08-05
Posts: 56

Filesystem wide CVS?

I was reading around and people seem to be saying that Apple is putting some sort of per-file version control system into its new operating system. This got me thinking, would this be a useful feature to most people?

It almost sounds like having git built into the filesystem to track changes for every single file if you wanted to go back to earlier states.

I'm not aware of this feature currently existing anywhere in linux or the bsds.

Do anyone think this would be useful to have?


The older I get the less time I have.

Offline

#2 2011-02-28 05:13:04

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Filesystem wide CVS?

I do regular backups of the files I care about. I have a couple aliases

alias rm="rm -i"
alias mv="mv -i"
alias cp="cp -i"

that help me not to lose data. If I think I may need some configs again in the future I don't remove them, just comment them out.

That's all I need.

Offline

#3 2011-02-28 13:15:43

s1gma
Member
Registered: 2009-09-29
Posts: 45

Re: Filesystem wide CVS?

I think Foresight Linux does such thing, but I did not tested it personnaly. Here is the link: http://lwn.net/Articles/424406/

Offline

#4 2011-03-05 18:50:51

rwd
Member
Registered: 2009-02-08
Posts: 664

Re: Filesystem wide CVS?

btrfs kind of does this, but requires making  'snaphots'.

Last edited by rwd (2011-03-05 18:54:40)

Offline

#5 2011-03-05 18:54:06

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Filesystem wide CVS?

rwd wrote:

doesn't btrfs have this?

You mean copy on write? I think it's subvolume-based, not file-based. I don't know of any easy way of browsing the history (previous versions) of a file in btrfs - you can do it in a VCS.

Offline

#6 2011-03-05 19:04:55

rwd
Member
Registered: 2009-02-08
Posts: 664

Re: Filesystem wide CVS?

There are several backup applications  that keep record of previous versions, I myself use rdiff-backup for this, and there are some graphical ones such as flyback. But a proper versioning system does lots more, like show differences between two past versions, merge differences etc.

Last edited by rwd (2011-03-05 19:06:13)

Offline

#7 2011-03-14 13:22:53

ehlo
Member
From: England
Registered: 2010-04-04
Posts: 66

Re: Filesystem wide CVS?

I don't know of any easy way of browsing the history (previous versions) of a file in btrfs

btrfs snapshots are mountable smile

Offline

#8 2011-03-14 13:55:30

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Filesystem wide CVS?

ehlo wrote:

I don't know of any easy way of browsing the history (previous versions) of a file in btrfs

btrfs snapshots are mountable smile

I know that, but you would need to diff the files by hand, right? Enter paths to different snapshots etc. I meant 'easy' as in: one click to view the difference between any 2-3 versions of some file.
I agree that it's doable, just that a real VCS is better suited for the task, because it works on files, not on snapshots. I don't know which tool would do better wrt e.g. renaming / moving / merging a couple files. Imagine you have foo.conf and bar.conf and one day you combine them into foobar.conf. How would you traverse the history of that file? The older versions should show both files, right? How about A.txt, B.txt and C.txt. One day half of A.txt goes to AB.txt and half to AC.txt (AB.txt means half of A.txt and the whole B.txt).
I think it may be possible by explicitly merging, branching and whatnot, but is a filesystem smart enough to figure this all out by itself?

Offline

#9 2011-03-14 14:43:12

litemotiv
Forum Fellow
Registered: 2008-08-01
Posts: 5,026

Re: Filesystem wide CVS?

Nilfs2 does this.


ᶘ ᵒᴥᵒᶅ

Offline

#10 2011-03-14 15:27:05

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Filesystem wide CVS?

litemotiv wrote:

Nilfs2 does this.

http://www.ibm.com/developerworks/linux … lfs-exofs/

Given the temporal nature of the file system, NTT has considered some other very innovative tools for the future—for example, tls (temporal ls), tdiff (temporal diff), and tgrep (temporal grep). Introducing time-based functionality seems to be the logical next step.

This looks promising indeed.

Offline

#11 2011-03-14 20:59:40

faelar
Member
From: Amiens (FR)
Registered: 2007-12-18
Posts: 232
Website

Re: Filesystem wide CVS?

Offline

Board footer

Powered by FluxBB