Need to version control entire root file system

View: New views
10 Messages — Rating Filter:   Alert me  

Need to version control entire root file system

by Worley, Chris B :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Not user's home directories, but everything else; and no version control
meta-data cruft left lying around inside my image.

The base "image" is kept offline.  I want to version control changes to
every file and directory in that offline image.  

Ascii files need explicit diffs, binary files can just be flagged as
changed.  I need to be able to view which files changed at any check-in
point, what files are different now from the last check-in, how the
ASCII files changed between any two versions, and roll-back the entire
image to any previous version.

Mostly, I need the diff repository to be outside the image; I don't want
hidden version control directories in every directory of my file
system... I need the version control meta-data kept elsewhere (this
image gets provisioned onto systems).

Will Arch do this?  If not, can anybody recommend a good version control
utility (or maybe one that is extensible) for this?

Note that I use "image" to mean "root file system", and not a disk image
per se; something you could chroot to.

Thanks,

Chris


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Andy Tai :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Probably not something Arch will handle efficiently today...

There may be some add-ons to subversion to let you do this, but I don't recall the details.

Anyway, this kind of use does not really need distributed SCM so I don't feel guilty saying use Subversion for it...

On 6/22/07, Worley, Chris B <chris.b.worley@...> wrote:
Not user's home directories, but everything else; and no version control
meta-data cruft left lying around inside my image.

The base "image" is kept offline.  I want to version control changes to
every file and directory in that offline image.

Ascii files need explicit diffs, binary files can just be flagged as
changed.  I need to be able to view which files changed at any check-in
point, what files are different now from the last check-in, how the
ASCII files changed between any two versions, and roll-back the entire
image to any previous version.

Mostly, I need the diff repository to be outside the image; I don't want
hidden version control directories in every directory of my file
system... I need the version control meta-data kept elsewhere (this
image gets provisioned onto systems).

Will Arch do this?  If not, can anybody recommend a good version control
utility (or maybe one that is extensible) for this?

Note that I use "image" to mean "root file system", and not a disk image
per se; something you could chroot to.

Thanks,

Chris


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Alfred M. Szmidt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

   Anyway, this kind of use does not really need distributed SCM so I
   don't feel guilty saying use Subversion for it...

Subversion isn't really what the OP is looking for either, since it
also uses meta-data.  Infact, you cannot have a VCS without meta-data,
so there is nothing out there that will fit the OPs description.


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Stefan Monnier :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>    Anyway, this kind of use does not really need distributed SCM so I
>    don't feel guilty saying use Subversion for it...

> Subversion isn't really what the OP is looking for either, since it
> also uses meta-data.  Infact, you cannot have a VCS without meta-data,
> so there is nothing out there that will fit the OPs description.

Actually SCMs such as Arch which only have a single meta-data directory are
pretty easy to adapt to his case: just keep the meta-data directory
elsewhere and move it back to its original place (or make a symlink, it'll
probably work just as well) temporarily whenever you need to run an
SCM command.


        Stefan


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Alfred M. Szmidt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

   >    Anyway, this kind of use does not really need distributed SCM
   >    so I don't feel guilty saying use Subversion for it...

   > Subversion isn't really what the OP is looking for either, since
   > it also uses meta-data.  Infact, you cannot have a VCS without
   > meta-data, so there is nothing out there that will fit the OPs
   > description.

   Actually SCMs such as Arch which only have a single meta-data
   directory are pretty easy to adapt to his case: just keep the
   meta-data directory elsewhere and move it back to its original
   place (or make a symlink, it'll probably work just as well)
   temporarily whenever you need to run an SCM command.

You still have {arch} for the whole tree, and .arch-ids for each
sub-directory.


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by John Evans-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, 22 Jun 2007, Worley, Chris B wrote:

> The base "image" is kept offline.  I want to version control changes to
> every file and directory in that offline image.
>
> Ascii files need explicit diffs, binary files can just be flagged as
> changed.  I need to be able to view which files changed at any check-in
> point, what files are different now from the last check-in, how the
> ASCII files changed between any two versions, and roll-back the entire
> image to any previous version.
>

Chris,
  You do not need revision management software (such as Arch, CVS,
Subversion, etc.) You need a configuration management suite. The one that
I can recommend is cfengine. You can find it here:
http://www.cfengine.org/

  As far as tagging which binary files have changed, you would
probably be best served by using Tripwire to accomplish this goal. You can
find it here:
http://www.tripwire.com/
http://www.tripwire.com/products/enterprise/ost/

  Tripwire will also track changes to your configuration files, but
I'm not sure it will provide diffs or not. You'll need to investigate that
on your own.

--
John Evans
Administrator of kilnar.com


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Stefan Monnier :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> You still have {arch} for the whole tree, and .arch-ids for each
> sub-directory.

The .arch-ids are not indispensable.


        Stefan


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Alfred M. Szmidt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

   > You still have {arch} for the whole tree, and .arch-ids for each
   > sub-directory.

   The .arch-ids are not indispensable.

That is true to the extent that one only has files that are plain
text, and no binary files.  Seeing that the OP wanted to manage a
entire root file-system, he cannot get away without using meta-data
all over the place.

But now re-reading the OP's post, I'm wondering what he means with
meta-data, there are several types of meta-data.  One is for book
keeping ({arch}, .arch-ids), and the other is history.  Chris, could
you clarify what you mean?


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Joel Rosdahl-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"Worley, Chris B" <chris.b.worley@...> writes:

> Not user's home directories, but everything else; and no version control
> meta-data cruft left lying around inside my image. [...]
>
> [...] If not, can anybody recommend a good version control utility
> (or maybe one that is extensible) for this?

Sounds like Vesta <http://www.vestasys.org> might be something for
you.

--
Regards,
Joel Rosdahl <joel@...>
Key BB845E97; fingerprint 9F4B D780 6EF4 5700 778D  8B22 0064 F9FF BB84 5E97


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/

Re: Need to version control entire root file system

by Ben West :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hypothetically, you could mount another file system over root using union-fs and see that the arch meta-data lived in the mounted version instead of the original (e.g. the arch meta-files would exist in a ghost directory somewhere, pehaps, less visible to the system.

you would mount root as usual
in a subdirectroy, you would remount root (readonly)
then mount another arch-metadata directory over top (writeable)
so that any changes to the metadata would be written to the seocnd directory -- then for updates/syncs, etc you would sync/update the union file system

I'd consider reading up on unionfs to see if this will work for you. 


Also, I think the latest version of reiser supports version control build in.

On Jun 22, 2007 10:18 AM, Worley, Chris B <chris.b.worley@...> wrote:
Not user's home directories, but everything else; and no version control
meta-data cruft left lying around inside my image.

The base "image" is kept offline.  I want to version control changes to
every file and directory in that offline image.

Ascii files need explicit diffs, binary files can just be flagged as
changed.  I need to be able to view which files changed at any check-in
point, what files are different now from the last check-in, how the
ASCII files changed between any two versions, and roll-back the entire
image to any previous version.

Mostly, I need the diff repository to be outside the image; I don't want
hidden version control directories in every directory of my file
system... I need the version control meta-data kept elsewhere (this
image gets provisioned onto systems).

Will Arch do this?  If not, can anybody recommend a good version control
utility (or maybe one that is extensible) for this?

Note that I use "image" to mean "root file system", and not a disk image
per se; something you could chroot to.

Thanks,

Chris


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@...
http://lists.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/