2015-07-06 14:39 GMT+02:00 Matthieu Lacaton <matthieu.laca...@gmail.com>:

> What image version did you use?
>
>
> I used number 50074
>
>
> Maybe you can iterator over all methods decompile, and save as new code?
>> Maybe you can open the image without the changes file and try to create a
>> package or file out the package?
>>
>
> I manually looked inside many of my .changes with Notepad++ and I couldn't
> find any of the related methods.
> If I open the image without the changes file I can't export anything.
>
> By the way, when I try the "Recover lost changes" from inside the image I
> cannot go back very far. I have a big .changes with about 200 snapshots but
> I can only go back to the last ~~ 20s or so. Is it normal ? It's the first
> time I use the .changes file so I don't really know how it works.
>

There is a hard-coded limit in the recover last changes.

Last time I had to help someone do a difficult recovery, I had to change
that limit in a method somewhere... don't remember which one.

Don't trust the changes anyway. It's bound to be replaced. The strategy I
suggest is:
- Use Monticello and makes frequent saves of your packages
- Practice rebuilding your image: write a script or a makefile which loads
everything and set your settings.
  -> Better still: include both your build script and your packages inside
the same repository so that they can be versionned together. Git works very
well this way, and you can use filetree or GitFileTree for that.


>
> No, not your fault, this should not happen. The changes file is for
>> "recover if you messed up the image". If the changes file gets corrupted,
>> then this is a serious bug.
>>
>
> Well I really don't know :s The only thing I can tell is that I have an
> image with some totally broken "written" methods but their execution works
> just fine. The "normal" source code of these methods apparently is nowhere
> to be found. However, inside the .changes some more recent methods are
> correctly registered so the problem probably happened only once with a
> bunch of methods I wrote at a given time (actually broken methods are not
> methods I wrote entirely but methods I changed).
>

Looks like a set of shifted source pointers. If you dare, what you could do
is regenerate the source for all those methods by decompilation and
recompiling them. You would get all thoses t2, t3 etc... but you would be
then able to redocument them at your rythm (and get Nautilus working again).


>
> I did some testings and I found a way to reproduce what I experienced :
> If you manually rename an image without renaming the .changes you cannot
> browse the code inside Nautilus without getting errors. However, you can
> use the finder just fine to find any method. These methods are decompiled
> methods (with variable names in t1 t2 etc.) but you can modify them without
> getting errors. Then you can save your image and it works fine.
> Now if you rename the image to the name it had in the first place you can
> use it properly but the method you modified in between will be broken at
> some point.
>
> But to be honest, even if it kinds of reproduce my problem I am not sure
> this is what i did. Maybe I manually renamed the image, that's definitely
> possible, but i don't remember re-renaming it to its prior name. Moreover,
> when doing so you end up with a new .changes file which is very small and
> has the source code of the methods you modified and I don't have any small
> .changes file.
>
> I am still quite unsure at this point.
>

If you find any way to confirm what you did, please share. Maybe there is a
bug somewhere and, given the consequences, we need to correct it.

Thierry

Reply via email to