Re: philosophical question about frequent saving of files
Tor Norbye <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.user-interface |
|---|---|
| Message-ID | <[email protected]> |
On Aug 29, 2005, at 12:16 PM, Ivan Soleimanipour wrote: >> It may be easier, but I don't want my file revisions individually >> checked in. Everytime I check in a change, I provide an explanation/ >> commit message for that change. This is inherently different than the >> undo history. I always do a diff of what I'm about to check in too >> as a final step. >> > > If I want to make an "experiment", I check in my current work, > check out fresh copies, do my experiment. If it fails I throw out > my sccs edits. Ok, so you agree that these experiments shouldn't automatically be checked in, e.g. VCS is not the right storage for intermediate snapshots. >> I don't remember the details, but one of the important things you do >> in this window is diff one version wrt. another. So if for example >> something you were working on suddenly stopped working, you can diff >> this version with previous versions over the last couple of hours and >> notice that perhaps you accidentally deleted a line or something. >> > > I have to ask ... do you actually have any self-awareness while you're > programming? I mean in the pick-your-favorite-easter-philosophy sense. I don't understand what you're arguing here (especially the part about philosophy). If I'm guessing right, you're arguing that a real programmer shouldn't need to rely on file diffs to see recent changes to a file - it should all be in his/her head? In the presence of lots of distractions - people stopping by, the phone ringing, meetings, or resuming work the next day, that's not always true for me. And yes, I have occasionally accidentally deleted a line, or inserted a character accidentally (for example thinking I was in a different window) that didn't result in a compilation error, but leads to a runtime problem. Diffing solves this problem. But you have to have a base to diff with, and in a newly added class or method that hasn't been checked in yet you don't have that luxury. The versions tab is not just used for figuring out what changed - it's also a way to go back. You said yourself that you check out fresh copies to do experiments. Why should you have to - make your experiments right here, and revert back if it doesn't pan out. > So you'll end up with a lot of "saved for build on <date-timetamps>". > Sounds like a recipe for information overload :-) > > What I"m saying, unlike what Mr. Hollingsworth read, is wouldn't it be > possible to factor the three systems you're now proposing undo/redo, > short-term saves and sccs saves into something that uses only two > mechanisms? Otherwise it's going in the direction of PERLs a curlique > per itch. I think we agree that SCCS/VCS is not the right place for this. Yes, we can couple undo/redo with auto saves. But I want more than Undo/Redo offers. I want persistence across IDE sessions. I want to be able to view the "deltas", not just be able to apply them (back with undo, forward with redo) and diff them. This could obviously be combined with the undo concept somewhere - but personally I found the Versioning tab in JBuilder intuitive and useful. I didn't experience the information overload you're describing - I only see the save versions when I open the Versioning tab for a particular file - and in that case I really do want to see what backups I have available. > My favorite example here is CVS. where you have wholesale repository > branching and the lore associated with merging them, standard > branchings > with the lore associated with them! and regular programmer checkouts, > While under teamware all three activities are captured by one concept. Yes, but teamware doesn't address what I want: "personal" deltas. This thread started because you were concerned that tool auto-saving might be offensive to developers. It's true - they sometimes are. But if I have a way to go back, I'm much less likely to be upset about it. Without autosave, if I discover that you saved my deltas AFTER I have exited the IDE, I'll have no way to get my old changes back (unless we're talking about deleted code which is already in VCS). -- Tor