Jump to content
Hash, Inc. - Animation:Master

Who uses the tortoise svn option


fae_alba

Recommended Posts

Ya know, when it rains it pours.

 

I've been working like a mad man trying to get this off the cuff Christmas short done before the 4th of July 2014. Had the set built, had props built, and was ready to put the pieces together. Tweeked my truck model, and was really quite stoked that I pulled that one out of the hat, saved the model, saved the chor, saved the project. I then decided to look at some other human models I had kicking around to see if I had one rigged well enough to do what I needed...found one (yeah for dusty archives!). Reopend my opening scene project, and noticed my truck was missing from the chor, and not even in the objects list of the project. Went to reimport the model, no dice. That's when that cold sinking feeling started to make itself known...I opened the model up in notepad, and find the file empty, completely devoid of model-ish data.

 

It was gone, destroyed, never to be seen again. Of course, the only backup I have is two weeks old, and only a half model at that. Of course I spent the rest of the night in a very foul mood, and of course I have nobody to blame but myself.

 

So I have to ask, who uses the tortoise svn setting in A:M? How does it work, if it does with tortoise itself? I have used tortoise with my software dev projects, and honestly never really liked it, but I need to prevent this sort of thing from happening again, and need something that is done in the background, because it should be fairly obvious that a manual copy of files nightly is not a habit I've gotten into.

Link to comment
Share on other sites

  • Replies 29
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

  • Admin

There is no requirement to use Tortoise (or SVN) with A:M as it is completely independent.

I'll guess the same thing that caused your truck to come up missing might happen if you used Tortoise/SVN.

A:M doesn't automatically save versions of files just because you've installed SVN.

It has more to do with checking in files to the repository so that the program knows to do that.

 

I'm really surprised that modern day operating systems haven't leveraged tech as SVN to instantly recall any saved version of a file.

I understand that many do in the sense of backups and such but what I'm talking about is more along the lines of a file system that is fully transparent to the user and iteratively recallable/redactible/roll-backable.

I also understand the security issues implicit therein that and the general fears that could go with that.

 

To get back to your question, I have used Tortoise/SVN as a method for storing files but I often tend to fail to remember to do that.

I believe you can setup SVN or similar programs to version entire folders and there might be some promise in that; save your project files, models, etc. there and SVN would maintain versions of that.

 

I have yet to install Tortoise/SVN on my current system.

Thanks for reminding me to do that! :)

 

Regarding your lost file.

I still think you should be able to get that back.

Without knowing more about your file setup and workflow I'm just not sure how to approach getting it back.

Not that I do it but it's good to perform, at a minimum, at least one daily backup.

Is your computer set to do a automatic or periodic back up?

Link to comment
Share on other sites

There is no requirement to use Tortoise (or SVN) with A:M as it is completely independent.

I'll guess the same thing that caused your truck to come up missing might happen if you used Tortoise/SVN.

A:M doesn't automatically save versions of files just because you've installed SVN.

It has more to do with checking in files to the repository so that the program knows to do that.

 

To get back to your question, I have used Tortoise/SVN as a method for storing files but I often tend to fail to remember to do that.

I believe you can setup SVN or similar programs to version entire folders and there might be some promise in that; save your project files, models, etc. there and SVN would maintain versions of that.

 

Regarding your lost file.

I still think you should be able to get that back.

Without knowing more about your file setup and workflow I'm just not sure how to approach getting it back.

Not that I do it but it's good to perform, at a minimum, at least one daily backup.

Is your computer set to do a automatic or periodic back up?

 

Rodney, What you say is the rub of it. Tortoise is a passive archive, it waits for you to post file changes back to the repository. With A:M, and in this particular case, the write is a destructive overwrite. So if I didn't manually back up the version into a repository, then the file is lost, kaput. This time around, A:M wrote empty place holders in the model file, nothing else; so there is no recovery. It would be nice to have an archive repository plug-in for A:M that posts the version of a file currently on disk into an archive BEFORE the new version is written to disk. That way, when we all become the dunder heads that I became last night, the A:M gods are there to protect our work.

Link to comment
Share on other sites

  • Admin

Will said:

I don't know how to go about setting it up for a project of my own, but it would be pretty cool if someone could explain it. It would be nice to try a distributed project with the community using the tool built into A:M

 

The process is straightforward (Lloyd Moore and I setup Tortoise/SVN when he initially launched 'Woke Up Dead').

For my part I just treated it as part of the file management system.

The hardest part is setting up the server so that local repositories have something to sync with.

I would love to use SVN as an A:M Exchange repository so that folks could add and retrieve assets from it.

Perhaps there would be a way to setup such a thing where private assets as well as public assets could be maintained.

I've long seen the A:M Exchange arena a a means to recover lost files because... if there are duplicate files in existence... if a file is lost it can easily be replaced.

Using SVN would be even better because users could choose which version of any given file as the replacement.

 

On the local machine it would look like this:

Create a Folder/repository where you save all your A:M assets and have Tortoise/SVN keep it in sync.

Saving files locally doesn't share it with the online/server repository unless/until you Right Click and submit it.

Right Clicking and Submitting entire folders rather than individual files is a better way make sure the server is in sync.

Right Clicking and Updating the local folders via an 'Update' keeps the local and server repositories in sync.

 

On the server it might look like this:

Public and Private folders are setup with permissions set.

Everyone has access to the public and is free to download and even update the asset. (its safe because changes can be rolled back)

On the private side a way to release access to specific parties (for collaboration purposes) would need to be worked out.

 

Of course the ultimate privacy would be to add your files to Tortoise/SVN locally (without ever syncing with an online repository) as Tortoise/SVN can be run entirely on the local machine.

Unless backed up elsewhere however this defeats the purpose of having a repository somewhere else so that files may always be retrieved.

Link to comment
Share on other sites

  • Admin
This time around, A:M wrote empty place holders in the model file, nothing else; so there is no recovery. It would be nice to have an archive repository plug-in for A:M that posts the version of a file currently on disk into an archive BEFORE the new version is written to disk. That way, when we all become the dunder heads that I became last night, the A:M gods are there to protect our work.

 

I wish I was smart enough to convey some of my thoughts with regard to nondestructive file creation.

(This relates to something I have long desired in A:M's rendering system... something folks always misunderstand whenever I try to explain... entirely and eternally my failure)

 

While there is a Backup plugin for A:M, what we've historically advised people to do is to "Save often and incrementally." This is because even backups will tend to fail.

What that entails is saving updated files with different filenames (in this way we get out of the habit of copying over files that we might need):

 

CoolModel1

CoolModel1a

CoolModel2

 

As this is up to the user to specify other custom filenaming schemes work just as well:

I like to follow the same pattern as A:M's renderer:

 

CoolModel000

CoolModel001

... with the occasional suffix affixed:

CoolModel001 (rigged)

etc.

 

Hopefully it is apparent why this method is better than a simple straightforward backup of a file with the same name; it not only conveys more information by always renaming there are files it will never replace.

There are other schemes as well:

 

CoolModel20130102v1 (a filename followed by a date and version)

Note that in this case I start with the year so that all files will be easily sortable filename and date (for actual creation date we could use the operating system to sort by date)

This would be ideal if you know for a fact you will be going back to use earlier versions from specific dates.

 

Of course there are problems with this approach if we aren't paying attention.

If a Project file is looking for CoolModel1a and can't find it it is up to the user to point it in the right direction.

Does A:M use CoolModel1... does it use CoolModel2... or some other iteration?

 

Not to go too much farther down this rabbit hole but the way A:M works with files both aides and abets our ability to safely recall files when we make the inevitable and fateful mistake.

One of the reasons embedding of files came along is surely that when they are maintained separately there is a chance we might unintentionally lose or update them.

This is something you should check because if your files were separate (unembedded) for awhile and then later you embedded them into your project you still would have those unaffected model on your drive somewhere. They may just be named something you have since forgotten or forgot to search for

 

This might be a good time to reiterate: "Save often and incrementally"

But this doesn't cover all bases as evidenced by my current situation which has all my older files on a laptop that doesn't want to get past the Windows boot screen.

To cover that aspect of recalling older files we have to store them (or share them so that they can be stored) in an alternate/remote location.

Link to comment
Share on other sites

  • Hash Fellow

I'm confused about how this happened at all. It's certainly an unhappy circumstance :( .

 

A:M does have an automatic incremental save option, but I've never used it.

 

In my own work i just never save over anything, I always "Save As" and manually increment a version number. I got into that habit back when A:M was famously unstable and I felt i needed to save every two or three minutes.

 

Now I save a few times an hour, usually after I have added some notable detail or right before I do something that will be hard to undo, as some plugins are.

 

I view the SVN as something for groups that collaborate over a network and need to be sure that everyone is using the same version of an asset.

Link to comment
Share on other sites

Paul

Pardon me if I speak out of turn here but, if you are using 17g, and haven't turned it off yet (?) , AM does automatically back up your files. I haven't tried it yet because I've used Time machine on the Mac ( which I'm guessing is a bit like Tortoise ? ). Anyway, when I installed 17g for first time I was surprised to find that it was backing up the files and turned it off. Then made first mistake, turned them back on.

regards

simon

Link to comment
Share on other sites

I'm confused about how this happened at all. It's certainly an unhappy circumstance :( .

 

A:M does have an automatic incremental save option, but I've never used it.

 

In my own work i just never save over anything, I always "Save As" and manually increment a version number. I got into that habit back when A:M was famously unstable and I felt i needed to save every two or three minutes.

 

Now I save a few times an hour, usually after I have added some notable detail or right before I do something that will be hard to undo, as some plugins are.

 

I view the SVN as something for groups that collaborate over a network and need to be sure that everyone is using the same version of an asset.

 

I always save a model after each change. Like you Robert I got in that habit a long time ago when A:M tended to decide to retire at the most inappropriate times. I also make iterative copies of a model as I progress through the development stage (save as "model_v1, v2 etc.). But, once I feel the model has been "completed" I generally don't make iterative copies. If I tweek a spline in a minor fashion, I simply save the model over itself and move on. That's what I did last night, only this time A:M saved a blank file. Don't know why, and I must say I haven't seen this happen in a long long time.

Link to comment
Share on other sites

Paul

Pardon me if I speak out of turn here but, if you are using 17g, and haven't turned it off yet (?) , AM does automatically back up your files. I haven't tried it yet because I've used Time machine on the Mac ( which I'm guessing is a bit like Tortoise ? ). Anyway, when I installed 17g for first time I was surprised to find that it was backing up the files and turned it off. Then made first mistake, turned them back on.

regards

simon

 

Simon, unfortunately I've had to go back to 16b on my laptop. When I renewed my license a few weeks ago 17g decided it didn't want to play and the renderer crashed A:M. I simply haven't had the time to figure that one out. If I could get 17g to work in my environment, then that feature certainly would have saved my blood pressure last night..

Link to comment
Share on other sites

Hi Paul,

I will be the first to say I'm not greatly knowledgeable about Windows but I'm sure I remember someone telling me once that in Windows7/Vista? there was something similar to Mac's Time Machine called "Shadow Copy Service" that backed up files in the background?

And so if you right clicked on the desired file you could select "Previous Versions".

As I say, I maybe completely mistaken about this so its probably a bit of a shot in the dark!

Link to comment
Share on other sites

I always save a model after each change. Like you Robert I got in that habit a long time ago when A:M tended to decide to retire at the most inappropriate times. I also make iterative copies of a model as I progress through the development stage (save as "model_v1, v2 etc.). But, once I feel the model has been "completed" I generally don't make iterative copies. If I tweek a spline in a minor fashion, I simply save the model over itself and move on. That's what I did last night, only this time A:M saved a blank file. Don't know why, and I must say I haven't seen this happen in a long long time.

 

ACK - so sorry to hear you had this happen. We've all been guilty of not backing up our files frequently enough, especially when working on a longer project. Sometimes we learn to never do that again...sometimes we just stay stupid...again...and again...and uh...methinks it's time for me backup again, as it's been only a month or 2 or 3...

 

However, I have never experienced A:M saving a blank file on it's own, without me telling it to. So that was a very curious statement.

 

MY guess is that you had a glitch in your disk access, due to either OS glitch (delay in write) or hard drive funniness (starting to fail? getting full?) or some other system gremlin lurking in the shadows...?

 

btw, I would never-ever use an automatic backup scheme (especially with A:M) -as I do too much experimentation, make too many mistakes, and lawd knows, there would be much garbagiola saved for no good reason. I too, use a deliberate versioning suffix, and a descriptive prefix for my naming conventions.

 

I also never-ever work with projects - as when you save a project EVERYTHING (materials, models, chos) in the project (embedded or not) gets saved whether you want it to or not. And again, I don't necessarily want a garbage model being saved over a good one.

 

Again: So sorry for your loss. I feel your pain.

Edited by NancyGormezano
Link to comment
Share on other sites

As an update, I did perform the oft suggested practice of saving copies with new names. I had a half model saved off that I was able to use to get (almost) back to where I was on Tuesday. Even added a few additional tweeks. All I have to do is add poses, and the rig and I'm back in business.

 

Still not really sold on svn though. Like I said earlier, while i used it for quite a few software dev projects it always felt like it was more of a pain than it was worth. I'm thinking that a backup hard drive on the network that can be used as a duplicate copy of my local drive, then a regular monthly backkup to cd-rom is a viable solution. That of course precludes getting in the habit of actually doing that!

Link to comment
Share on other sites

Sure there isn't something else wrong? I have never seen a model file get corrupted like that in AM. I have trashed many files quite well on my own.

 

Testing various software I have seen where the undo's may not be in order or a step is not undo'able but haven't seen that in this software.

 

Complex stuff I really like the incremental save.

Link to comment
Share on other sites

  • Hash Fellow

What if there were an extra save option?

 

Save

Save As

Save Increment

 

Save Increment would take the current file name and if it had a text sequence like "_001" in it it would increment that number by 1 and save under that new file name.

 

If the filename did not have that text in it, then Save Increment option would be greyed out.

Link to comment
Share on other sites

Now that's an interesting idea Rob!

Might I also suggest that when working with Project files instead of just automatically saving over a model file when you save the Project, (as noted by Nancy, when saving Projects A:M will overwrite a model even when it is NOT embedded in the Project), before saving the Project A:M would ask you which of your suggested save option should be applied to the models in it.

Another possibility might be that we have a Preferences setting to instruct A:M how to save models when working with Projects.

Link to comment
Share on other sites

Might I also suggest that when working with Project files instead of just automatically saving over a model file when you save the Project, (as noted by Nancy, when saving Projects A:M will overwrite a model even when it is NOT embedded in the Project), before saving the Project A:M would ask you which of your suggested save option should be applied to the models in it.

Another possibility might be that we have a Preferences setting to instruct A:M how to save models when working with Projects.

 

It's not just models that get saved, but also chors, materials, actions that get saved automatically when saving a project.

 

Currently, it is really better to work with chors while in development (for me), and to understand the hierarchy of A:M, and to deliberately save what I want to save. And to save with versions. I give chors a version as well as models, sometimes actions, sometimes materials.

 

But I use projects only when they are required (sometimes forced, no way around it) by A:M:

1) for rendering with netrender (I believe is still necessary, I don't use netrender), and

2) for setting up the directory where the baked hair particles files are saved (for some reason they are saved in the project directory, when I feel like they should be saved in the chor dir, or be able to specify where they should be saved).

3) And for archiving (embed all final project)

4) and for sharing on the forum a sample, test project

 

As for backups, yes, tortoise svn is way too complicated, but more suited for versioning control with other team members also doing development

 

For backing up everything, ie, all data files on my internal hard drives, related to A:M or not (ie docs, photos, email, bookmarks, etc), I do an incremental backup (with choices) to an external drive every "as often as it's necessary", using the most wonderful, free syncbackse software found here. I don't have it running continuously (it is an option), nor without intervention, as again, it would bog down with crap...but that's my preferred choice. It can be totally transparent.

 

And YES it makes me be responsible or ...reckless, as the case may be, when I let it go too long between backups.

 

I like the version system "save increment" option that Rob suggests for A:M, but I would suggest having it for all A:M data file types (eg chor001, model001, action001, material001, project001). (EDIT: as I reread what Rob said, perhaps he already meant that)

Edited by NancyGormezano
Link to comment
Share on other sites

  • Admin
Save Increment would take the current file name and if it had a text sequence like "_001" in it it would increment that number by 1 and save under that new file name.

 

If the filename did not have that text in it, then Save Increment option would be greyed out.

 

I like this idea too but I don't see any reason to grey out 'Save Increment' if there are no padded numbers on the end.

Save Increment could increment by 1 if an trailing number exists *and* if not it could add that padding in... perhaps beginning with 000, _000 or optimally a user stored variable.

This would not only help us increment our files it would echo optimal workflow in A:M's renderer... and train people to use that feature as well. ;)

 

Save Increment Psuedocode:

 

'Assume the user wants to increment over a file that already exists but...
Check to see if the file exists
If the file exists get the last character of the filename
 If LastChar is an Integer loop to get all integers
 Add 1 to the existing increment
 Else : Append _000 to the filename
Else :  File does not exist so treat as a regular Save operation querying user for file location
'As this is a Save Increment routine it could be programmed to never overwrite a file but instead display error message stating "If you wish to overwrite a file please Save or Save As."

 

Note that because of the way Project files work (as has been mentioned already), unless very carefully written, even using the File Increment routine would not guarantee no file gets replaced. This is one of the reasons I tend to embed Projects because then I know for a fact that no files external to the project will be replaced.

Link to comment
Share on other sites

  • Hash Fellow

That would probably be reasonable.

 

Of course our best guard against file surprises is understanding what is being saved and when, but i've been trying to explain that for a few years now and quite hit on the magic formula. :lol:

Link to comment
Share on other sites

  • Admin

There are some fairly easy means of ensuring files don't get overwritten.

One hack on a PC would be to create a batchfile (text file that executes instructions) that simply copies the current files into a new place.

I'm tempted to try to write a utility that does something like this but it'd only be for PC users as I haven't a clue how to proceed on a Mac.

 

What success might look like would be a program that would be added to the Tools drop down menu.

When launched it would go on a find and seek (duplicate/increment) mission.

 

One does have to consider that incrementing could be a detriment in several ways.

The primary one I can think of would be files that are referenced to earlier increments.

In other words you are working on a production and save with files with a 023 increment...

You open one or more of the files (such as a model and an action) and save them out as the 024 increment...

 

Now when you open the original Project or Chor it will still refer to the original increment.

How could it not... as it hasn't been touched/updated to refer to the newer increment.

 

So now we are looking at yet another future feature request which might be to have A:M determine what the latest and greatest increment for any given file currently is.

i.e. when A:M opens a file it would notify the user that newer file increments exist that are not currently being referenced.

Fun stuff that coding/debugging is.

Link to comment
Share on other sites

  • Hash Fellow
One does have to consider that incrementing could be a detriment in several ways.

The primary one I can think of would be files that are referenced to earlier increments...

 

True. Of course, that's a problem whether the incrementing is manual or automatic.

 

But that scenario is a reason i tend to save PRJs with everything embedded when i am developing an idea. I like being able to save the whole schmear as one chunk. Disk space is rarely a problem these days.

Link to comment
Share on other sites

So now the creative juices being to flow:

 

I'm wondering if an app external to A:M is created that can be triggered from within A:M that handles archival of a project on the fly. I have always thought that some sort of repository of an animation project that ties everything together, with a nice gui front end would help me a lot. When developing a software project I/we normally go through the following process:

 

1) gather requirements; what is the project supposed to do? (what is the story we are trying to tell)

2) Functional design; maps the requirements into a mid-level design of the project (script)

3) Technical design; maps the functional design into a detailed design of the project (storyboards)

4) Testing design; maps the technical design into a testing plan (animatic)

5) Development; performs the work laid out in the technical design (modeling/rigging/lighting/animation)

6) Quality assurance; performing the actions laid out in the test design match expected results (editing)

7) product release;

 

The challenge is making sure that everything defined in step 1 makes it to step 7, and there is no loss of the work as we move to each stage. I'd like to see an app that, by way of database driven archival/retrieval, that allows us to maintain an A:M project, with plug ins perchance that allow us to maintain it from within A:M and/or a stand alone web based gui.

 

How about a collaborative project? I have friends on my side who I perhaps can talk into doing some coding (their fee is beer usually). I'd think an open-source project, take donations to help defray the cost of a cloud platform. What I would need from folks here is a requirements list.

 

I truly am a glutton for punishment since I will be in NYC for 4 days next week starting my new job as a technical architect. That transition has got me stressed out a wee bit, but once I've gotten my Christmas short out and the Rear Window project done, I'd like to investigate this, since I'm painfully aware of what happens when things go south with files!

Link to comment
Share on other sites

  • Hash Fellow

I would think there's already a 3rd party archiving utility that could be directed to archive some specified set of folders for a project. Maybe it couldn't be triggered IN A:M but you could make an icon on the desktop that would do that. Or maybe the icon could be added to run from A:M's Tools menu.

Link to comment
Share on other sites

I would think there's already a 3rd party archiving utility that could be directed to archive some specified set of folders for a project. Maybe it couldn't be triggered IN A:M but you could make an icon on the desktop that would do that. Or maybe the icon could be added to run from A:M's Tools menu.

 

 

check this one out

Shotgun. Fits the bill, but $49/person/month. Pricey. I like free.

Link to comment
Share on other sites

Doesn't just about any archiver have a way to define a backup "job" that you can tell it to do at any time?

 

 

I was looking at not only an archiver but a project management app as well. As Robert hinted at, a simple batch job could be written (for Microsnot users at least) to create back up copies of a folder easy enough, but I was looking to kill a whole flock of birds all at once!

Link to comment
Share on other sites

  • Admin
check this one out

Shotgun. Fits the bill, but $49/person/month. Pricey. I like free.

 

I was checking Shotgun and it's related programs out when it was first being promoted and there wasn't much to show.

It looks like they've come a long way since then.

Most of the tools in Shotgun are available in various programs but aren't as fully integrated and automated.

That integration, automation and the additional service is what folks are willing to pay for.

If moving into full production its certainly nice to have the option.

Especially when some similar solutions are tens of thousands of dollars.

 

There are quite a few folks that are leaning into the project management arena for filmmaking (Tactic* is one I've been following closely but I haven't seen a lot of movement from them since their initial product announcement. Tactic has a much broader scope than Shotgun and is therefore inherently more open to customization... which can also equate to being more difficult to maintain and manage).

 

The future continues to look bright for filmmakers and animators but there are still some rough spots to smooth over.

 

 

*Tactic does have the advantage of being fully integrated with Python (mix with HTML, CSS and Javascript and stir well).

Tactic is free...and I see they've recently released some plugins.

Link to comment
Share on other sites

*Tactic does have the advantage of being fully integrated with Python (mix with HTML, CSS and Javascript and stir well).

Tactic is free...and I see they've recently released some plugins.

 

Tactic seems to have some promise, I'll have to look a little deeper at the product. At first blush it feels like it is a WordPress like approach to workflow management. I just might have a go at installing it on my blog sight and see if it works out.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...