Archive: NSIS Update updates every single file


NSIS Update updates every single file
I had to format my hard drive due to a nasty crash, and I downloaded the latest nightly build for NSIS. But everytime I use the NSIS Update it tries to update every single file... I think it's because of the timestamps of the files or something.

Any suggestions? Thanks.


What do you mean by tries to update every single file? It should update every single file... What does the log show that bothers you?


I think mikem4600 is complaining about what happens if you use a CVS snapshot ZIP file to update your NSIS installation and then later on try to run 'NSIS Update'.

Normally 'NSIS Update' will only download newer files, so a 'NSIS Update' run usually involves only a handful of files being downloaded, and this is not a time-consuming operation.

However, this is not the case if you have used a CVS snapshot to update NSIS by unzipping the snapshot on top of your NSIS installation. The data in the CVS folders in the snapshot does not match the date/timestamps on the actual files, so 'NSIS Update' has to assume that everything has been locally modified, renames these files and then downloads "clean" copies. 'NSIS Update' will in effect download EVERY file again which can take a very long time (and your NSIS installation will double in size).

Here are some examples from my system, after unzipping the 27 August (19:44 GMT) CVS snapshot:

Partial DIR listing from the {NSISDIR} folder:

makensis.exe 413,184 .a.. 15-08-03 12:44:06
makensisw.exe 69,120 .a.. 23-08-03 0:44:06

Extract from the 'Entries' file in the {NSISDIR\CVS} folder:

/makensis.exe/1.221/Fri Aug 15 19:44:05 2003/-kb/
/makensisw.exe/1.103/Sat Aug 23 07:44:06 2003/-kb/

Since the two EXE files have timestamps which differ from those in the 'Entries' file, 'NSIS Update' will download both files again.

[edit]Suspect the problem is related to timezones - the CVS snapshot data is timezone specific, so anyone in a different timezone will see the problem I described[/edit]


But that shouldn't happen at all, and if it does then not more than one time. It shouldn't list all files. When extracting from the snapshot it should only list dsw and dsp files (because something is funky with the new line conversion).

I think it's because the snapshot is ahead of the CVS server (because of SF known issues) which will cause CVS to think that the local copy is newer. If this is the case it will no longer bother you by tomorrow or the day after it. I will still need to verify the message from CVS, but it seems the most likely.

[edit]CVS seems to handle timezones, I don't think that's the problem.

Actually, my test didn't show all files as updated even though I used the backup server. It must be only the .dsw and .dsp files.[/edit]


Originally posted by pengyou
I think mikem4600 is complaining about what happens if you use a CVS snapshot ZIP file to update your NSIS installation and then later on try to run 'NSIS Update'.

Normally 'NSIS Update' will only download newer files, so a 'NSIS Update' run usually involves only a handful of files being downloaded, and this is not a time-consuming operation.
Yep, that's what I ment. Sorry, I wasn't clear enough... I'll try it again though. If it doesn't work then I'll just download 20b3 and let it update it.

Well, it didn't work. I've attached the contains of the Log window just before it starts downloading everything and I kill the cvs95 process, as there is no way to cancel the update.


From the CVS Book: "The repository always stores dates in Universal Time, but CVS on the client side usually assumes the local system time zone."

A quick look at a CVS snapshot found CVS 'Entries' files with timestamps 7 or 8 hours ahead of the timestamps on the corresponding files (eg 'Entries' file has 19:44 yet matching file has 12:44).

Unzipping the CVS snapshot on a computer using a different time zone from the one used on the system where the snapshot was created could cause confusion when NSIS Update is run. If NSIS Update assumes that the timestamps use the local time zone it could end up assuming that every file needs to be downloaded again.


TortoiseCVS seems to handle times pretty well. So does cvs95.exe that NSIS Update uses. I am a few good hours away from UTC and never had time problems.

Anyway, a quick solution, unless NSIS Update starts working after the 24 hour difference, would be using just one option. Either the snapshot or NSIS Update.