LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 07-22-2006, 11:43 AM   #1
jantman
Member
 
Registered: Nov 2005
Location: New Jersey, USA
Distribution: SuSE
Posts: 492

Rep: Reputation: 31
Version control - decentralized repository


I'm not too familiar with version control, but as far as I can tell, everything (CVS and subversion) use a "centralized" repository. Is there any way that I can setup version control that:

1) can use multiple paths on the machine
and
2) can be read from normally, not through the revision control system?

What I want to do is implement revision control (like CVS) on the /srv/www/htdocs directory, the users' home /public_html directories, and a few other random directories. I don't mind having to check something out to work on it and then check it back in, but it has to be able to have Apache serve the files normally from those directories.

Also, I do a lot of development remotely and SFTP in the finished documents, so something that could somehow work with that (even if it's just a shell script to check in the documents from a temporary directory to the main one) would be great.

Any suggestions?
 
Old 07-22-2006, 12:07 PM   #2
tuxdev
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 2,012

Rep: Reputation: 115Reputation: 115
Sourceforge and friends use Web-based CVS viewers. The major problem with the kind of thing you may be asking is the massive amounts of metadata stored for all the files.

You may find TLA aka Arch to be what you want, about the decentrilization thing.
 
Old 07-22-2006, 12:38 PM   #3
paulsm4
LQ Guru
 
Registered: Mar 2004
Distribution: SusE 8.2
Posts: 5,863
Blog Entries: 1

Rep: Reputation: Disabled
Hi -

Personally, I've had considerable luck with CVS (specifically, with WinCVS) in what I suspect is pretty much your scenario.

You definitely owe it to yourself to check out common alternatives like Subversion, RCS, Git and Visual SourceSafe and PVCS.

'Hope that helps .. PSM

PS:
Last time I looked, researching into MS-VSS is time particularly well-spent.

Why?

Because MS-VSS was (still is?) so BAD, so laughably inadequate, that it makes ANYTHING you decide on look that much better ;-)!

PPS:
MS-Sharepoint is another Lol joke when it comes to collaborative Content Management/Project Management. Check it out ... and then compare it with something like Mambo or GForge.

Last edited by paulsm4; 07-22-2006 at 12:42 PM.
 
Old 07-23-2006, 01:08 PM   #4
jantman
Member
 
Registered: Nov 2005
Location: New Jersey, USA
Distribution: SuSE
Posts: 492

Original Poster
Rep: Reputation: 31
Paul,

I've looked into all of those, and I use CVS at work.

The problem is that I want something that DOESN'T use a repository. I.e. I want it to function on any files that I tell it to, in any directory system-wide.

Think more in terms of revision control for plain-tetx documents as opposed to source.
 
Old 07-23-2006, 01:18 PM   #5
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Ok, I'm at loss... ALL the source I've ever written was plain-text,
and as far as directories goes, svn is brilliant at e.g. holding a
store of /etc for you.


Cheers,
Tink
 
Old 07-23-2006, 02:01 PM   #6
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
Quote:
What I want to do is implement revision control (like CVS) on the /srv/www/htdocs directory, the users' home /public_html directories, and a few other random directories. I don't mind having to check something out to work on it and then check it back in, but it has to be able to have Apache serve the files normally from those directories.
you dont need it in plain text to serve it with apache. you can compile subversion with an apache module that will allow you to serve the repository on apache plainly. or you can go for a little more robust solution which is Trac and the like.. either way you can browse and view the repository from a web browser.. and compiling with apache also allows you to serve the repository across http without using the svn server.

and as far as having a repository that is stored in plain text, that creates the problem of someone possibly changing files randomly without any tracking being enforced. (you know, when someone submits broken code and does not want to get busted), i think you might be missing the point of revision control.. if someone can tamper with the repository, then you run the risk of corrupting it all..

and as Tinkster suggested, subversion will hold anything, not just plain text.

Last edited by xhi; 07-23-2006 at 02:02 PM.
 
Old 07-23-2006, 08:00 PM   #7
jantman
Member
 
Registered: Nov 2005
Location: New Jersey, USA
Distribution: SuSE
Posts: 492

Original Poster
Rep: Reputation: 31
Well, I did a bit of research on my own, and it seems that RCS is the system for me.

As to missing the point of revision control - I understand the point, but there are different tools for different applications. This is being used on MY personal machine, nobody is going to submit anything.

RCS does what I want - I install it once, and I can use the same system to track changes to code in /home, changes to configuration files in /etc and changes to HTML and PHP documents in /srv/www.

It's relatively simple, the checkin commands are easy, and it doesn't have a central repository. And best of all, it stores ALL version-tracking information in a subdirectory (RCS) of the working directory, so it doesn't interfere at all with the working file itself.

Ex: All I needed to do is create a "RCS" directory in my public_html directory, then check-in all of the files I want RCS to control. I can keep track of versions and revert to any previous version, but Apache still serves the documents normally.

Thanks, Paul, for the suggestion of RCS.
 
Old 07-23-2006, 09:38 PM   #8
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
Quote:
As to missing the point of revision control - I understand the point, but there are different tools for different applications. This is being used on MY personal machine, nobody is going to submit anything.
oops, i read your statement about using VCS at work wrong, and thought thats what you were referring to.

good luck
 
Old 07-26-2006, 12:10 PM   #9
jantman
Member
 
Registered: Nov 2005
Location: New Jersey, USA
Distribution: SuSE
Posts: 492

Original Poster
Rep: Reputation: 31
Thanks to all who helped. I started using RCS two days ago and am hooked on it, to the point that I've started using it at work for minor revisions also.

All it requires is to create a "RCS" subdirectory where ever you want to use it.

mkdir RCS

to check in files (leaving the working copy in place but locking it)
ci -u filename

to check out the file (replace working copy with RCS version and then work on it)
co -l filename

that's it!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Version Control in Vi? bladehaze Linux - Software 1 10-08-2005 09:25 PM
softwares latest version repository Emmanuel_uk LQ Suggestions & Feedback 10 04-22-2005 05:37 AM
Is there version control that can be used with Samba? tbartolucci Linux - Software 1 01-19-2005 07:25 AM
version control recommendations? belorion Linux - Software 0 10-27-2004 10:28 AM
CVSNT (control version) problem ina Linux - Software 1 02-11-2003 02:19 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 07:43 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration