![]() ![]() |
![]() |
![]() |
scenarios:-to fix as of a version, create subproject/branch, checkout a build to that dir, fix, and then merge changes in. In versions, can only branch a subproject (curious). After doing that, use "files to checkout" to get all files there for testing (assuming they're needed. May be able to get by with just checking out those needed.) - start working on a fix, and in the midst are told to fix a bug in one (or a few files). Don't want to incorporate the incomplete fixes, but need to have stable platform of the code that was deployed for the version that needs the bug fix. Assuming that you were using version control, and when you were at a stable point in the coding of that version you "labelled" the files as a milestone or a build, can retrieve all the files for that version and work on them in isolation. First, check-in current incomplete versions (risky, may want to label them as incomplete), then check out all the files as of the build. Make the fix, deploy it, and then merge the changes made into the version you're working on. (question: how to cause bug fix to be available in later "checkouts" of that build? better still, how to have bug fix apply to intervening builds?) I think the solution is to use a subproject branch, and then merge. But that doesn't quite solve the problem. Asked Starbase: Folks, I am starting to use what for me are the more complex aspects of your Versions product. Among them are builds. branching: in versions, use project>subproject>branch (see help "create a subproject branch" for scenario, and also "branch subproject") merging: in versions, lock then merge (in versions interface). See help for "merge files" for scenario. -to work on files with entire project in working directory, working alone, can choose to have files marked read only on check-in. this prevents you editing them without checkout. Since this can only be done in projects tab and after opening project, is a bit of a pain. Could instead choose to checkout immediately on check-in, thus preventing that hassle. But the cost is then that you can't easily tell in Studio what's been modified from the checked-in version. Can run a difference, but that's a hassle too. But you can use a feature in Versions' interface which lists which files need to be checked in. Use "files to checkin" drop-down. May be the way to go. (In a multi-user environment, using "check out immediately" on checkin would be troublesome.) consider that a number of files is in a directory, and you rely on the file date to tell how old a file is and whether it's been udpated in a while (for whatever reason you want to know that). You make a change for some minor reason to a large number of files, including this one. Now, oyu no longer can track this file's history by its date, because it will change. In this case, a version control system is the only way to track that. - working on 3 programs to add an enhancement. choose not to upload those while working on them. Then a problem crops up regarding another unrelated program. You determine that the problem there affects multiple programs. You do a "extended find" to locate and change all the affected problems, test them (if you're good) and send them to the server. But now one of them fails on the server because it was among the 3 you had started working on for the enhancement, and you had started making those changes which rely on the other 2--only they were not uploaded because you weren't done working on "them". Now you have to back out the changes made to the one in support of the enhancements, and make the changes in support of the "problem" to put that up on the server. Then you can get back to the enhancements. How to do this easily without version control? When you uploaded to the server, you wiped out the current version. With version control, if you always checked in before uploading to server, you could save off the latest version that had "both" changes, restore the version checked in before starting the enhancement changes, add back the "problem changes", and then check that in, upload it, and add back the enhancement changes. Of course, if the enhancement changes were complex and threaded throughout, it would be difficult to add them back (but at least the version control allowed easy REMOVAL of them to restore to the previous state). It may be possible (through means I don't understand) to also merge back in the enhancement changes from the copy you saved off prior to trying to recover. (add knowledge: can lock a file from within Versions to be able to check in changes without forcing a checkout to overwrite them) don't even get into "documenting" changes on checkin. Just checkin before uploading to server. Then, a record is kept of what changes were made. Can just use "compare" later to see "what" changed. (May even want to setup upload process to run from different directory than working dir. And have version control software put a version into that dir for uploading. VSS supports this in 2 ways: "shadow folders" and "web project deployment" |
|
![]() | User Groups | Other Resources | Press Releases | Company |
© 1998-2025, Charles Arehart, SysteManage |