topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday March 29, 2024, 12:40 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Versioning of files  (Read 50237 times)

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Versioning of files
« on: October 05, 2007, 04:36 AM »
I know that there's threads with recommended articles about versioning
and it's not that I'm a lazy beggar
(I swear! I'm unfortunately weeks after a new xp install still busy with sorting out problems &, I confess, tweaking ...)

but maybe someone could give me a bit of direction re versioning (then I'll start reading!)


maybe I should start by explaining what I would like:

I'm working on a drawing, lets say a contour map.
I'll save it as "Map"

then I save versions as maybe
Map01,
Map01a,
Map01b,
Map02tonal,
Map03darker,
Map03e (so it lists alphabetically - from d to e)
that works reasonably well but I would like a way of attatching
comments that I can easily printout with a file list or simply with associated file name
Lets say I want to send on Map3f to whoever,
it would be great to be easily access/copy the "changelog" from the previous version so I can tell them the important changes made,
or even to access the whole changelog from version one


I have glanced (thats all..) at tortoise svn etc - they do seem to be aimed at developers but may be suitable ?

Or then there's Filehamster (https://www.donation...dex.php?topic=7492.0)
which saves versions but
1) I'm not sure how accessible these versions are outside Filehamster
2) not sure how accessible the comments are
3) I save files sometimes very often - I have a horror of having to redo stuff :) -
I dont want a new version for each save & think that''s what Filehamster does

Then there's the possibility to add comments in ntfs ? (descript.ion files in DOpus ?)

as I say humbly looking for a bit of direction/help,
not afraid to go in the deep end, but naturally the easier the better!!

thanks, tom
Tom

justice

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,898
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #1 on: October 05, 2007, 04:52 AM »
Regarding filehamster,
It saves the files in its own  "library" which is just a hidden folder at a location you specify. All files are available and the revision time/date are in the filename.
You can attach comments to every save as a pop-up comes up with that choice - or comment as yo go along using the notes plug-in.
I'm not sure where these notes are stored however I noticed a library.info file in the library folder location.
You can bring up a revision window with all the versions of the file and their comments however I've not seen a "export to changelog" option. Have a look at http://Mogware Forums you might find information about that there.
all things considered its the easiest but effective VCS I know of.

It just works in the background and when you save a pop-up in the lower right corner of the screen lets you know filehamster saved it, and if you want to add a comment. It's seemless, and if you don't work as part of a team this will suit you well. (obviously you can replace files sent by a team member but you'll have to add in comments yourself IE it doesn't know who made what changes)
« Last Edit: October 05, 2007, 04:54 AM by justice »

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Versioning of files
« Reply #2 on: October 05, 2007, 05:08 AM »
When working on media files, and if you have the money to burn, perhaps take a look at http://www.softimage...products/alienbrain/ . Don't have any experience with it myself, but it sounds cool enough. And id software uses it :)
- carpe noctem

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #3 on: October 05, 2007, 05:15 AM »
thnks justice
I had had a look at their site but only now notice they have a forum & a wiki

my fear of too many versions is unnecessary:
Occasionally tell FileHamster to remove unprotected files. Please note that files get set as protected by default when you add a comment.
I'll give it a go & let you know how I get on
Tom

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #4 on: October 05, 2007, 05:17 AM »
@ f0dder, - hah, money to burn, if only :P
Tom

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #5 on: October 05, 2007, 05:18 AM »
When working on media files, and if you have the money to burn, perhaps take a look at http://www.softimage...products/alienbrain/ . Don't have any experience with it myself, but it sounds cool enough. And id software uses it :)

mind you looking at it that "starter pack" is only 12$
will look closer
Tom

mitzevo

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 462
  • Control is power
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #6 on: October 05, 2007, 05:25 AM »
xplorer2 has a nice feature suited for this - Comments - check that page and read about 'em.

comments that I can easily printout with a file list or simply with associated file name
You can copy columns (including filename, size, date, comments, etc.) in x2 and paste them where you wish, like in this example:

comments_x2.jpg

ofcourse i added the proper tab amounts so they would line up nicely :) but i think this is what you are after.
The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present.

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #7 on: October 05, 2007, 05:36 AM »
mitzevo,

that is nice !

#  Set or change a comment with a single keystroke <Alt+Z>
# Set/clear comments for many files at once (add to existing comments)
& so easy to copy,  :-*

EDIT: Seems to be available in free version as well..

unfortunately :) I use DOpus[8], will have to check out their take on this


Tom

Dirhael

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 387
    • View Profile
    • defreitas.no
    • Donate to Member
Re: Versioning of files
« Reply #8 on: October 05, 2007, 08:04 AM »
mitzevo,

that is nice !

#  Set or change a comment with a single keystroke <Alt+Z>
# Set/clear comments for many files at once (add to existing comments)
& so easy to copy,  :-*

EDIT: Seems to be available in free version as well..

unfortunately :) I use DOpus[8], will have to check out their take on this




Every file manager that works on Win2k+ supports this, even windows explorer. You can even handle this directly from the DOS prompt. It's absolutely useless for anything but the most trivial things though, as you will loose all your comments if you every copy the files to a non-NTFS drive (which means all usb thumbdrives, memory cards etc., and a whole lot of external HDD's if you don't reformat them to NTFS first).

I would personally have used proper a version control system like Subversion, but you have another choice as well; descript.ion files (assuming you don't need anything more advanced than the previously mentioned ADS). Don't know if it is supported in Xplorer^2, but I do know it is supported in most other advanced file managers (it is in fact a very old system, used originally by 4dos if Google is to be believed).
The syntax is very simple, it is just a plain text file with the following format:
filename.ext This is just an example
...and saved as descript.ion

As you are using Dopus, here's how you can handle it: Just create a new button or keyboard shortcut with the command:
SetAttr DESCRIPTION

Oh and don't forget to turn on the description column if you want to see the comments while browsing :)

If you use Total Commander, you can just use CTRL+Z to set the description for the selected file(s).
Registered nurse by day, hobby programmer by night.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Versioning of files
« Reply #9 on: October 05, 2007, 08:27 AM »
Remember the golden rule with all of these things.

The first and most important answer to the question "what's the best way to do x?" when x is something people have different opinions on how to do, is: consistently.

The most important thing for you is to pick one method, and use it consistently so that you can do it without thinking too much and can reliably depend on it.

It's good you are keeping multiple versions of files -- it's something i always try to remind people to do.  You never know when you will need to look at an older version.

Personally for things like papers and documents i tend to use something like:
MyPresentation_A01.doc , MyPresentation_A02.doc, .. , MyPresentation_B23.doc ...

And occasionally i will add a note to myself as you suggest, like:
MyPresentation_B23_MajorRestructuring.doc

So the numbers are the version numbers and the A,B,C.. are major versions.
(this is different from that way i version my programs which follows a more standard ##.##.##)

Keeping in mind that the intention is always to only be working on the latest version (the others are backed up somewhere).  If you are saying that you work on all of these different versions simultaneously then a different strategy might be warranted.


Ralf Maximus

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 927
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Versioning of files
« Reply #10 on: October 05, 2007, 09:57 AM »
Here's what I do... it's simple and has worked for years.  Should be applicable to software development or any kind of document management.

Caveat: I am an army of one; this won't work for team development.

KEEP A WORK LOG.  Start a Word document (or .txt or anything you want) and annotate the thing whenever you make a change.  Include the date and any information a future version of yourself will thank you for now.  My work log consists of a huge-ass Word table, one row per change.  Every year I start a new one.

It requires some discipline, but should not be an onerous task.  A simple note of what you did ("changed fonts on buttons of form x") will suffice most times; when you make major changes perhaps a bit more.  I suggest this instead of renaming the actual project files, since that can get crazy complicated down the road.  And no, I do not spend half my day typing comments into the log; it's the work of a few minutes, usually just prior to an archive function.

The payoff is this: Anytime in the future you'll be able to search for the date, perhaps a build number, and keywords to find when a particular bug/feature crept into the code.  Using the build number, you can then track down the exact archive containing the source for that build.  (Or the revision of the map file, or the latest tweak to Aunt Erma's cookie recipe.)

Archive?  Yes. See below...

1. My work consists of a massive VB project, many files of varying types, any one of which might change during an edit session.  The work log .doc is included within the archive.

2. When I feel the need for a backup  -- prior to compiling, prior to release, or just because I'm nervous about some crazy stunt I'm about to pull -- I run a batch file that refreshes a .ZIP archive with all the files in my project.

3. When the batch completes, I rename the file with today's date, the current build I'm working on (#.#.#) and a letter A-Z denoting which build-of-the-day is in the archive.  Sometimes I'll also add a comment in the filename, for example:

  Backup 2007-10-02 v2.0.53a - Replaced all occurrences of True with False.zip

(Usually the renaming consists of overtyping the date and build ID; the work of a few keystrokes.)

4. Finally, the archive is copied to a 500GB backup drive on my network set aside for the purpose.  I have archive files going back to 2002, including all the worklogs.  The backup drive is in turn backed up multiple times to various places and media, including a PaperBack printout which consumes the warehouse next to my home.  :-)

So how do I use this?

A typical scenario is that a customer calls and complains that feature x stopped working with the last update.  They can tell me the current (non-working) build but that's about all.  I whip out my work log and search for that build number.  Then I dig out the source archive for the build PRIOR to that, and isolate the form/module/class that implements the diseased feature x.  I can then use UltraCompare (or Eyeball Mk I) to compare the old source with the new, and hopefully spot the change(s) responsible.

If I'm lucky there might be a work log comment from past-me identifying the exact change causing the problem.  Usually these things are resolved quickly once the section of changes is ID'd.

It's not perfect, but it works for me.  It's simple, non-obtrusive, as comprehensive as I want to make it, and (best of all) uses off-the-shelf technology that does not require anything more than WinZip and Notepad to get at my old code.  I used to use VSS but rapidly became disgusted when it "ate" my projects occasionally, got hung up on a checked-out module, or simply self destructed.  This is soooo much better (for me).

I recognize this is not geared directly to revisions of graphic files or geodata, but it could be adapted easily.

HTH,
Ralf

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #11 on: October 05, 2007, 10:09 AM »
I'd agree with Ralf's system. i just use a typical file naming system but put comments inside a text file so that there's room to add enough explanation for what the different variations are - i know i'll forget what things are within a couple of months so i make it all as descriptive as possible.

i also use filehamster - when i think there will be plenty of revisions and i may wish to return to an old file version.

also use ACDSee to add comments to individual files - not much use outside of ACDSee but it's a quick way to see your comments directly alongside an image (or any other file you've allowed ACDSee to display).

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #12 on: October 05, 2007, 10:30 AM »
I usually use a system that keeps it simple, fast and organized, and at the same time allows me to always work on the same filename. (note: this probably makes more sense for folders with more stuff inside than for single documents)

I work on a directory named "current". When i want to save the current state, i go one directory up, copy "current" to "copy of current", create a new folder with the current date/time and move both the "copy of current" and the other "date/time" folder inside that new one.

The advantage of this is that i only keep 2 folders at the root (the current and the last backup), and i can still quickly browse through the older copies (by double-clicking the top folder as many times as i want until i find the one i want).
Here's a folder tree of gridmove's folder:

gridmove
-20070906
--20070810
---20070705
----(etc)
----Copy of Current
---Copy of Current
--Copy of Current
-Current

The big advantages are that i can do all this in XYplorer, and all in a matter of seconds, and that i can quickly browse the tree of older revisions and choose one.

ADVISORY: using this system with something that takes a lot of space (like images) and has frequent revisions is a VERY bad idea, you'll run out of space pretty fast. For that kind of thing, a CVS/SVN or filehamster would definitelly by a better idea!

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #13 on: October 05, 2007, 10:32 AM »
hmmm, getting loads to think about here !! :-\

consistency, yes, absolutely mouser  :)
Re current setup,
I not only keep multiple versions of files, but have very regular incremental backup going on.
Problem with incremental backup is if something gets changed & I dont notice it for a while it can be a bummer trying to find last known pre-change version or whatever.
Yes,
I guess this could be a problem with any of these solutions
(e.g if something changes without my planning or noticing or keeping record of it) -
but I know if I have comments or keep a good record a la Ralf that it would make my life easier

What would be nice in a doc ... maybe a spreadsheet would be better for me - sometimes I might have dozens of files (as opposed to versions) in a project.
What can be difficult is if i have to make (similar) minor adjustment to say 100 files
writing re each file in a doc would then be timeconsuming...
I'll have to think about possible structures

Nudone, just read your post - do you not sometime find it confusing having three different "systems"

every time i try to post there's a new post  :D
jgpaiva,
will read yours now but gotta head out ..
'later! tom
Tom

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #14 on: October 05, 2007, 11:45 AM »
tomos, er, yes it's somewhat confusing having more than one system but they are kind of independent too.

filehamster is only used when i'm working on something, the current project. i use it just in case i need to revert back to an older version of a file - filehamster has automatically saved the different versions for me. so it's the automation thing that is the most useful to me. when designing web graphics i'll do many variations of an image - with filehamster i don't have to manually rename the file or move a previous version to another location. i just create the new image and it drops right into place in the web page design - if i change my mind about the graphic i just bring back a previous version using filehamster. no messing about renaming, etc. after i've completed the project i'll dismiss most of what filehamster what saving for me - lots of the files will be almost duplicates or too similar to bother keeping.

acdsee this is more of a reminder to what i might do with an image (or file). lots of images will have the same comment (or maybe a tag or both comment and tag). other images will have a comment that is a unique list of instructions for what needs doing to that particular graphic.

text file a project like a web site design will have plenty of things done to it that i'm sure to forget about. easy to forget how something was made to work in an awkward browser or whatever. so, i'll make a note of it all - if i used a tip from a book i'll state the book and page number - it it was a website then i might copy and paste the information and url from the site . they are all just little things to remind me of how and why something was done. and i'll also include a todo list of what needs finishing, etc, etc.


tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #15 on: October 05, 2007, 12:21 PM »
I work on a directory named "current". When i want to save the current state, i go one directory up, copy "current" to "copy of current", create a new folder with the current date/time and move both the "copy of current" and the other "date/time" folder inside that new one.

The advantage of this is that i only keep 2 folders at the root (the current and the last backup), and i can still quickly browse through the older copies

took me a while to visualise that even though I do something vaguely similar but not as organised. will try your version - in fact I already cant visualise it again
will definitely have to actually do it to get a proper sense of it  :D
Tom

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #16 on: October 05, 2007, 12:22 PM »
thanks for all the details nudone  :)

filehamster is only used when i'm working on something, the current project. i use it just in case i need to revert back to an older version of a file - filehamster has automatically saved the different versions for me. so it's the automation thing that is the most useful to me. when designing web graphics i'll do many variations of an image - with filehamster i don't have to manually rename the file or move a previous version to another location. i just create the new image and it drops right into place in the web page design - if i change my mind about the graphic i just bring back a previous version using filehamster. no messing about renaming, etc. after i've completed the project i'll dismiss most of what filehamster what saving for me - lots of the files will be almost duplicates or too similar to bother keeping.
-
sounds like a good choice for me then. will prob install it this evening, starting a new batch of drawings which inspired this thread...

Re acdsee
I'm doing mostly vector images so ..

text file a project like a web site design will have plenty of things done to it that i'm sure to forget about. easy to forget how something was made to work in an awkward browser or whatever. so, i'll make a note of it all - if i used a tip from a book i'll state the book and page number - it it was a website then i might copy and paste the information and url from the site . they are all just little things to remind me of how and why something was done. and i'll also include a todo list of what needs finishing, etc, etc.
-
I've been cursing myself, well, more thinking why didn't i..
... keep a coherent record of my recent windows install & what was done when etc
I've often had the same feeling re projects, especially say if they are abandoned for a long time & then the funding allows me go back to them. can be a nightmare  :tellme:

Tom

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #17 on: October 05, 2007, 12:35 PM »
if you are doing vectors then you need adobe bridge. i don't think there is a freeware alternative that will display vector files - not illustator ones anyway.

i think keeping track of what you do to your computer is very useful - even if it just means putting it in a txt file. i've finally accepted that trying to remember things just isn't going to work - including how you installed everything - there are just too many settings and it's so easy to 'break' things without realising.

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,747
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Versioning of files
« Reply #18 on: October 05, 2007, 02:34 PM »
I use FileHamster and I just want to point out that you can set a delay so that it will not save new versions if they occur within n amount of hours:mins:seconds of each other. This way if you save a file 15 times a minute, but they're not really important changes, you can set it to 00:01:00 and it will only save if it's been a full minute since the last revision.

Sorry if this was mentioned before. I started skimming through the last few posts.

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,747
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Versioning of files
« Reply #19 on: October 05, 2007, 02:40 PM »
When working on media files, and if you have the money to burn, perhaps take a look at http://www.softimage...products/alienbrain/ . Don't have any experience with it myself, but it sounds cool enough. And id software uses it :)

mind you looking at it that "starter pack" is only 12$
will look closer

You sure that's only $12? Looks like $12,000 to me.

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #20 on: October 05, 2007, 04:23 PM »
When working on media files, and if you have the money to burn, perhaps take a look at http://www.softimage...products/alienbrain/ . Don't have any experience with it myself, but it sounds cool enough. And id software uses it :)

mind you looking at it that "starter pack" is only 12$
will look closer

You sure that's only $12? Looks like $12,000 to me.

 ;D ;D ;D ;D
Tom

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,959
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #21 on: October 05, 2007, 04:39 PM »
I use FileHamster and I just want to point out that you can set a delay so that it will not save new versions if they occur within n amount of hours:mins:seconds of each other. This way if you save a file 15 times a minute, but they're not really important changes, you can set it to 00:01:00 and it will only save if it's been a full minute since the last revision.

Sorry if this was mentioned before. I started skimming through the last few posts.

I seem to be seeing things when they're not there & vice-versa this evening
or
i lost a post somewhere! - or both :)
ahh...
 here it is
I had had a look at their site but only now notice they have a forum & a wiki

my fear of too many versions is unnecessary:
..can occasionally tell FileHamster to remove unprotected files. Please note that files get set as protected by default when you add a comment.

which basically means I can save as often as I like, just put comments on the important ones & easily delete the rest


they have a plugin Report Window Plugin they charge for (only 9.95$, I swear :))
Have you ever wanted to see a report of everything that changed in FileHamster over the last few days?

Would you like to perform a mass restoration on all files to a particular time or date, or protect the latest versions of many files all at once?

With the Report Plugin, you will be able to easily isolate changes in any folder, multiple folders, or your entire library.

To help maximize your search, the ReportPlugin features extensive time-span controls that allow you to select any node in the Watch Tree and instantly see a live report for a specific day or date range.
but sure I'll see how i get on with the programme first
Tom

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #22 on: October 05, 2007, 07:32 PM »
tomos,

FileHamster is what you are looking for. Some suggestions for you:

  • Watch the video tour. In the video you well get a chance to see him add a comment.
  • When you install FileHamster, you will be presented with some help files that visually step you through the basic. Look for the Quickstart.
  • If you want to take notes while working on the file, instead of waiting until you make a save. Use the Notes Window Plugin.
  • Note that you can tweak the settings to change how your files are saved. For example you can keep the last X number of saves. But note that at each version you can override that by choosing to lock that version so that it won't be autodeleted.

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Donate to Member
Re: Versioning of files
« Reply #23 on: October 05, 2007, 07:39 PM »
 :huh: Ralf, dude! You're killing me. You are doing everything you can to avoid using an actual version control system. You are doing extra work, that you would get "out of the box" with version control. I see that you said you had a bad experience with VSS, but I beg you, <humor>it is bad enough you are using Visual Basic</humor> but if you would just install subversion and TortoiseSVN, make frequent small atomic commits, and set up svn to insist you add a comment, you could ditch the papernotebook, all those zip files with crazyassed names, and.... Oh, I can go on and on about how you are just making it so difficult when it could be so much easier. And searching through paper notes to find info an a specific date, or build? Tags dude! Oh, I can't bear to watch any longer.  :wallbash:

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,288
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: Versioning of files
« Reply #24 on: October 05, 2007, 07:49 PM »
Hmmm... Interesting topic... Seems to me like NTFS streams would be ideal for this kind of thing. Is that what FileHamster does?
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker