Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
106 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:

Introduction to Asset Management with ionForge Evolution®


First off, let's imagine you need to add a newly created file. I'm going to add a gif file to mine, but you can add whatever you want. I recommend some type of ASCII file so you can use it during the diffing demonstration a little later in the tutorial. In the leftmost pane, where the directory tree is, click once on the folder you want to add the file to, and then right click in the right pane and select add, as shown in the next screenshot.

Add a New File

This will bring up a browse dialog box. Navigate to the file you want to add and double click it. It is now under control. Now, imagine that it's been a while and you want to change the file. Right click on the file in question in the rightmost pane, as shown below.

Check Out a File

This opens a dialog box with some options for checkout. The defaults are what you want in this case. There may be some times where you don't want to synchronize with the server, such as if you had been working offline and are checking the file out so that you can check in the changes you made. In this case, you have no local copy, so you do need to "Replace with Current from Server." We personally like to keep all checkouts exclusive, as it reduces the occurrence of merges and everything generally goes far smoother than if shared checkouts are used. So, click OK and the client will grab the file and put it in the proper place in your working directory. You will know that it is checked out because the icon next to the file will have a red checkmark on it. Go ahead and edit the file somehow. You can do this either from Windows, or right click on the file in the Evolution client and select edit. This will only work if the extension has an edit command registered with Windows. If you just want to look at a file and don't want to make any changes to it, you can right click on the file and select "view." This will use the Windows "Open" command on the file. After you have changed the file save it and go back to the Evolution client. Yo uwill notice that the status of the file has changed to "modified," as shown in the screenshot below.

Now right click the file again and select check in, and the status will change to current. If you repeat these last few steps with more than one user logged in ( you can use the same machine or separate ones ), you will see that both user's clients update this information in real time.

What's the Diff?

Now that you have modified a file under asset control, you can compare them to see the differences. In my case, the file is binary, so it can only tell if the files contents are different or not. If it you used an ASCII file, such as a source code file or a txt file, a separate tool will launch and diff them and highlight the differences for you. To initiate the diffing, highlight two versions of a file in the lower right pane of the Evolution client ( the Properties and History ) using the shift key to allow multiple selections. Then right click and select diff versions. The diff tool will pop up with the results. From here you can edit the right side version and save it, or just close the diff if you don't want to make any changes. The same tool will be used whenever a merge incident occurs ( such as when two users edit the same file and check it in ).

The Future

That about does it for the basics of asset management. There are of course lots of other things that can be done with Evolution and asset management in general. If interest from the community is high enough, I will write further tutorials that explain the options and more advanced features that are available to you. Feel free to write me email to request specific information.

A Quick Note

Our development schedule is almost completely feedback based. We have a general roadmap for large scale enhancements, but we release monthly updates that add small features and GUI enhancements. These come directly from our user base, so if there is something you would like to see or a bug that you notice, let us know immediately, and you will probably see it in the next release or the one after.

About the Author

Lucas Heneks is a Software Engineer at ionForge Company, a developer of SCM tools. He graduated from UC Irvine's School of Information and Computer Science. When not staring at a computer screen, he is usually sleeping. Contact him at lheneks@ionforge.com


  Printable version
  Discuss this article

The Series
  Part 1
  Part 2