• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Henry Wong
Saloon Keepers:
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Frits Walraven

Logic for Version Controlling ??

 
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all ,
I am trying to develop an application where the version controlling is an integral part. I want to implement the logic for controlling the different versions of the file (same as in VSS,ClearCase,CVS) .
Can anybody please tell me the logic for the same . Is it possible that I could maintain a single physical file which reflect the multiple logical files . Any link any white paper will be appriciated.
Thanks and regards
Samir
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Any chance you could just use SubVersion and not tell anyone?

I retain all versions of pages and documents on my Wiki in a subfolder called "archive" and with a timestamp appended into the filename. Users can bring up a list of all archived versions, view, restore from archive, etc. Is that the kind of thing you need to do?
 
samir ware
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks a lot Stan for your kind help ....But if we maintain the different versions of the same file...I mean the physical files on the disk ...Don't you think it will create an extra memory utilization as well as reduce the scalability ....Thats the last option I am thinking about ...
Only if we could use the same file which can replicate the different versions somehow....that could improve the performance....
Is there any way to do it ???
 
Ranch Hand
Posts: 333
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, I am sure a web search of how the different source control systems work will give you some ideas.

If subversion is open source (I cant remember) looking at the souorce might give you some ideas, or you might be able to build subversion into your application.

I guess you really only have two choices, keep a copy of each version of the file/directory, I think clearCase works in this manner.
The other is to store the difference (delta) between the original file, and the first version of the file.

Although the file version is probably disakspace heavy it would be the easier of the two to implement, and harddisk space is very cheap.

I am sure a websearch for source control thoeries would work, also I would assume that content management systems work in about the same way, so that might add to your search terms.

Anyway just my thoughts on the subject.

G
 
Ranch Hand
Posts: 376
Scala Monad
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just a comment, ClearCase (and I guess most of versioning systems) stores delta for text file versions and the whole new version for binary files.
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Years ago PVCS was configurable to store the original plus deltas forwards, the latest plus deltas backwards, or all full files.

My Wiki has an ArchiveJanitor that retains at least x copies plus any number up to y days old and deletes the rest from the active disk. It zips everything and stores it at another location first. The Wiki ran for two or three years before I decided this was even needed - the "list all versions" function was getting a bit slow.
 
The harder I work, the luckier I get. -Sam Goldwyn So tiny. - this ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic