SnapshotCM News - Simplifying CM, Expanding 
Possibilities
Menu
 
Subscribe:
Do you want to be among the first to know when something new comes up? Sign up now to receive SnapshotCM News!

your 
email

Notes from the Trenches

Software Development for Windows Vista

Windows Vista brings with it a new set of requirements for developers to get up to speed on. There are changes required to work on Vista, and then additional changes required to be certified. Our current release works on Vista, but does not yet implement the full certification steps. Here is what we had to do.

First, Vista broke compatibility with Windows NT 4 SP6. Not a surprise, but the file system location function SHGetFolderPath (CSIDL_APPDATA) required to maintain compatibility between W2k, XP and Vista is not present in NT 4. So we are now playing by the rules, but also no longer supporting NT 4 as a result. Let us know if you still need NT 4 support and we will see what we can do.

Second, because of the new focus on security, and the desire to provide backward compatibility, Windows Vista treats programs it guesses to be install programs in a special fashion. That includes the SnapshotCM CLI commands wupdate and ssupdate, because of the word "update" in their names. The solution was to add a manifest to these commands so they would not be treated as install programs.

The above changes were all that was needed to enable SnapshotCM (both clients and servers) to work on Windows Vista and pass all tests.

For full Vista certified applications, Microsoft requires that all new .exe and .dll and install files contain a manifest specifying the privileges needed to run, and that all such files be signed. Neither of these appears to be too difficult, except that one needs to obtain a code signing certificate before apps can be signed, and that requires both time and fees to obtain. We expect to do all these things in a future release. There may be more requirements as well. Stay tuned and we will let you know.

Here are some resources we found (after much searching) to contain useful information:
Windows Vista Application Development Requirements for User Account Control Compatibility
Windows Vista Application Compatibility Cookbook

From the Mail Bag

Q: When using a proxy server, do clients also need direct access to the repository server? We are planning a configuration where the proxy server will connect via VPN to the repository server, and the remote clients will not have access to the VPN, only the proxy server.

A: SnapshotCM clients see the proxy server as a complete server, and know nothing about the repository server. The SnapshotCM clients should be happy with your proposed configuration.

Q: I want to use an external diff and merge tool. What's the difference between 2-way and 3-way merge tools, and how does batch 3-way merge work?

A: SnapshotCM supports 4 variables for diff and 7 for merge. In the Project->Options Diff or Merge tab, select Help to see the full list of variables, a description of each, and some examples.

Diff is used to display the difference between two files. It is not intended for use in merging. 3-way Merge is the normal merge case where the two revisions to be merged, and the common ancestor revision (used to determine which of the two revs being merged has changed) are all available. 2-way Merge is rare in SnapshotCM, but is used when the ancestor isn't known (when the workspace shows the ? Icon).

The batch merge simply does the merge into the target file in the background. It flags regions with conflicts inside the file, so you'll need to do check all files to find/fix these.

For what it's worth, my preferred merge tool is Guiffy SureMerge. They only do diff/merge, they do the best job I've seen, they support all platforms, file encodings, etc., and they are pretty low cost. If you do much merging, I suggest a 3rd party merge tool, and Guiffy is something I trust.

Also, if you use keywords in your source, the default SnapshotCM diff/merge tools automatically ignore differences in keyword strings, since they will always be different. Guiffy can also be configured to ignore such differences, which I find very nice.

Q: I'm importing files from another source into SnapshotCM, and SnapshotCM is flagging files that look identical as different. Any idea what is happening?

A: The files you sent are identical, except that the external file has inconsistent end-of-line characters. I suspect that SnapshotCM corrected the inconsistency during the previous import and the external file has had no changes since. Idea: If SnapshotCM compared text files as text, eol differences would be ignored. While there are work-arounds via scripting, this sounds like SnapshotCM could just handle. This feature is in our current release.

E-mail Us

Send your comments, questions and suggestions to support@truebluesoftware.com.

To see SnapshotCM in operation, download a fully functional SnapshotCM evaluation at http://www.truebluesoftware.com/.

 

Footer 
with globe
Mailing Address: True Blue Software Company - 5214 Keystone Creek Court - Fort Collins, CO 80528 - USA
Telephone: 970-223-1200 - FAX: 970-223-9270
E-Mail: sales@truebluesoftware.com - support@truebluesoftware.com

© 2oo7 True Blue Software Company. All rights reserved.
Simplifying CM True Blue Software Simplifying CM, Expanding Possibilities