Technote PT 580 | October 1990 |
Last reviewed: 6/14/93
I'm using the Projector system under MPW 3.2 and I'm looking for a way to do a "checkout -newer" on a branch. Is there any way to do this?
___
Apparently Projector doesn't have a command to get the name of the latest revision to a particular branch, let alone to check it out automatically. We think the only way to do this is to parse the results of a ProjectInfo call, looking for files that begin with the specification of the branch of the revision tree you're interested in. For example, if you do a GetProjectInfo -s, you get the names of all the revisions of all the branches. You can then use a script and StreamEdit to extract the latest revision in the branch you're interested in. Here's an example: First, set a variable to the root part of the specification of the branch you're interested in, as follows:
set Branch "Test.c,2a" # The first branch from revision 2 of Test.c
Then run the output of ProjectInfo -s through StreamEdit to extract the first line that matches this name:
ProjectInfo -s | StreamEdit -d -e "/{Branch}/ Print;Exit"
This will extract the name of the most recent revision whose name matches the {Branch} variable, because ProjectInfo outputs revision names in order, most recent first. Once this name has been extracted, it becomes simple to check it out, using the CheckOut command.
Last reviewed: 6/14/93
Using MPW 3.2 Projector, is it possible to change the author of a revision?
___
No, it's not possible to change the author of a revision. The Projector designers didn't see this as an important feature, but your message has been forwarded to them as an enhancement suggestion.
Last reviewed: 5/21/91
Using MPW 3.2 Projector, is there a way to automate or write a script for recursively checking out project revisions by name?
___
You can recursively check out a named revision from a hierarchy of projects as long as the name is defined in each project in the hierarchy. When this was tried with the System 7.0 Finder sources (it's one project, containing a bunch of files and six more projects, which contain a total of...) there was no problem.
Here's what happened:
The Finder project was mounted in its normal place (the sources were kept on an AppleShare server; the local copy was kept in a directory called, strangely enough, "Finder"):
directory Biggie:Finder: #change to my local Finder directory MountProject FinderServer:FinderSources: #mount the project from the server CheckOutDir -r : #tell Projector about the hierarchy of folders in :Finder:
To try out the CheckOut command, another directory was created elsewhere on the hard disk, and the second named revision of Finder sources to it was checked out:
newfolder Biggie:OtherFinder: #make a new directory directory Biggie:OtherFinder: #change to it CheckOutDir -r : #tell projector to create the hierarchy beneath it checkout -p -r 'a1' # checkout the old rev, and print progress
This worked as expected, recursively checking files out into the correct subfolders. That particular old revision was selected because it referenced files that had been deleted from the project. When CheckOut got to those files, it printed a warning and continued:
Warning, one of the files that the name "a1" expanded to does not exist anymore.
You can use a revision name instead of a specific file name with the checkout command. You'll find this information on the CheckOut manual page of the MPW Reference Manual ,Volume 2.
Last reviewed: 5/21/91
Can both MPW 3.1 and MPW 3.2 users share the same Macintosh Projector file, or has the file format changed?
___
It isn't a good idea to mix different versions of MPW on the same Projector file--not because of differences in Projector, but rather because of MPW differences. Bug fixes and general changes in MPW 3.2 make it a better environment for development.
You should upgrade all your development systems so everyone can use the latest MPW version. If you're hesitant to upgrade because you've customized MPW, you can copy your UserStartup file over to add your customized settings.
So, yes, you can use MPW 3.1 and 3.2 on the same Projector files, but we highly recommend that everyone upgrade to MPW 3.2.
Last reviewed: 6/14/93
When I use DeleteRevision to remove old revisions from my Projector database, the actual size of the ProjectorDB file doesn't decrease much. How can I make the file smaller?
___
Projector does not currently compact files. Instead, it marks the areas of the database that are now free and puts them into a free page list. This effectively puts holes into your database that subsequently get filled up when you add more revisions.
Your database will get smaller only if the free pages are at the end of the file; then Projector will shrink the file. However, there is very little you can do about controlling this situation. If you absolutely must have a smaller database, then all you can do is check everything out, orphan them, and create a new database. The disadvantage of this method is that you lose all your revisions and revision comments.
The Projector team is aware of the need to compact the database. They are currently studying the feasibility of implementing such a function.