From: Slava P. <sp...@gj...> - 2000-06-29 09:43:28
|
Hello everybody, While there is no way to completely avoid data loss, we could improve the current autosave feature... Currently, jEdit writes out a #...#tmp# file, then renames it to #...#. While this is better than directly writing a #...# file, it still leaves the possibility of data loss. What we need is a better way to save in-progress edits. Maybe a 'swap' file, like VIM's, where edits are constantly recorded, could be used. Because stuff is only ever appended to the 'swap' file, there is no possibility of data loss if the VM crashes, even in the middle of writing an edit. One disadvantage is that 'swap' files are not plain text, so one cannot do a 'diff' or something to see exactly what changes they contain. Another alternative is 'versioned' autosave, where first we write #...#1, then #...#2, and so on. The recovery routine would get the latest complete version. However, that could use up disk space rather quickly. One feature I have planned for the autosave code, not related to improving data integrity though, is an 'autosave' session that is written in addition to the autosaved files. When jEdit starts, it checks for the existance of an 'autosave' session, and if one is found, it will offer to recover all files in one go. Any more suggestions? Slava no...@so... wrote: > > Bug #108573, was updated on 06/29/00 02:15 > Here is a current snapshot of the bug. > > Project: jEdit > Category: editor core > Status: Open > Resolution: None > Bug Group: normal bug > Priority: 5 > Summary: buggy JVM can lead to data loss > > Details: I absolutely *love* jEdit except for this problem :- I'm using jEdit version 2.5pre6 on IBM Java2 version "J2RE 1.3.0 IBM build cx130-20000605" for x86 Linux. This version of the Java VM crashes occasionally. > > Unfortunately it crashed at exactly the right moment to reduce the size of my edited file (Knitter.java) to 0, causing me to lose an hour's work. I ran the editor again, and the file came up empty. It did not ask me if I wanted to recover the saved version. At this point I did NOT save (I had made no edits), and I exited from the editor. I then looked in the directory and found a file called '#Knitter.java#tmp#' which also had a size of 0. > > I'm not sure whether 'Knitter.java~' was created by jEdit, but it was three days old, so no use either. > > This could be considered a very serious problem! > > For detailed info, follow this link: > http://sourceforge.net/bugs/?func=detailbug&bug_id=108573&group_id=588 > > -- > ----------------------------------------------- > jEdit Developers' List > jEd...@li... > http://lists.sourceforge.net/mailman/listinfo/jedit-devel |