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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.