Skip to content
Commits on Mar 17, 2011
  1. bupdate: rename filename.tmp to filename.partial when starting an upd…

    committed Mar 16, 2011
    That way, the blocks downloaded from an earlier interrupted bupdate can be
    used to resume the new download.
  2. bupdate: change the progbar back to "bytes downloaded" not "bytes wri…

    committed Mar 16, 2011
    The number of bytes downloaded is a bit misleading if there are few changes:
    it seems to download at a snail's pace.  That's *mostly* because writing
    a 2GB file takes a lot longer than downloading a couple of megs of stuff.
    But some basic usability testing indicates that people thought we were
    re-downloading the whole image when we weren't.  And that is *much* more
Commits on Mar 16, 2011
  1. bupdate: don't auto-generate .fidx files for .tmp files.

    committed Mar 16, 2011
    This can get us in an infinite loop of .fidx.tmp.fidx.tmp.fidx.tmp etc,
    since a half-generated .fidx file is named .fidx.tmp.
  2. bupdate: make the global 'callbacks' in a static instead.

    committed Mar 16, 2011
    Somehow this caused memory corruption (or something) in the nsis module if
    we ever had to call regen().  I can't explain it, but this fixes it.
  3. bupdate: auto-generate fidx files for anything that doesn't already h…

    committed Mar 16, 2011
    …ave one.
    This helps if you're trying to bupdate something that you obtained some
    other way previously.  It also allows you to force-resync a file who you
    know has become out of sync with its .fidx, by simply deleting its fidx and
    letting bupdate regenerate it.
    It might be a little overzealous though.
  4. bupdate: don't regenerate the local .fidx, just validate blocks we use.

    committed Mar 16, 2011
    Previously, we would read through the entire source file to generate its old
    .fidx, even though we were about to rewrite the whole thing anyway.  Any
    blocks that have randomly changed since the last download are probably no
    use to us anyway, so regenerating the fidx doesn't really help.  If we find
    a block that should match the server but doesn't, just give up on it and
    download that block from the server instead.
    This avoids the (rather long and slow) indexing phase at the beginning, thus
    significantly speeding things up.
    As a bonus (assuming you like this behaviour), we won't bother downloading
    the file unless it has actually changed on the server since the last
    bupdate, even if we've changed it locally since then.  This happens to be
    useful in my use case, although I'm not 100% sure it makes sense in
  5. bupdate: automatically regenerate .fidx files if they're out of date.

    committed Mar 16, 2011
    If the source file has changed, we don't want to accidentally use an invalid
    fidx, because all the checksums will be wrong.
  6. bupdate: add rename_overwrite() for correct behaviour on Windows.

    committed Mar 16, 2011
    We can't atomically replace a file by renaming it on Windows; we have to
    unlink the target file first.
    This was causing fidx and bupdate to not actually update files sometimes
    when they thought they were, leading to badness.
  7. bupdate nsis example: show how to enable the cancel button during ins…

    committed Mar 16, 2011
    Downloading can be slow, so we should really let the user abort it if they
    don't like it.
Commits on Mar 15, 2011
  1. bupdate: More flexible progress reporting.

    committed Mar 14, 2011
    Getting closer to being able to use the produced information in a GUI.
  2. bupdate: use all *.fidx files in the current directory as sources.

    committed Mar 14, 2011
    ...not just the requested targets.
  3. bupdate: correctly handle baseurls like http://..../filename.fidx

    committed Mar 14, 2011
    We were accidentally prepending file:// in that case.
  4. bupdate: add a BigFile class to handle 64-bit file offset problems.

    committed Mar 14, 2011
    This also makes code simpler and less error prone in most cases, since we
    avoid using the C-style fopen() stuff directly.  And it catches errors
    inside a WvComStatus.
  5. just make a copy of bupdate.exe.

    committed Mar 14, 2011
    On Windows 7, exe filenames containing the word "update" always pop up a UAC
    dialog.  Sigh!  Let's make an alternate copy of the .exe file that doesn't
    do that, for easier testing.
  6. wvcomstatus/wverror: fix a bug in inheriting prefix strings.

    committed Mar 14, 2011
    If you did .set(errno) on a WvComStatus (ie. without an explicit error
    string), then inherited that WvComStatus up the stack, we wouldn't copy the
    prefix string correctly.
Commits on Mar 1, 2011
  1. Split bupdate's main() into bupdate_main.c

    committed Mar 1, 2011
    So we can build a dll.
  2. bupdate bupdates!

    committed Mar 1, 2011
  3. basic fidx reader

    committed Mar 1, 2011
  4. retrieve fidxes

    committed Mar 1, 2011
  5. Add WvDirIter.

    committed Mar 1, 2011
  6. Add wvstrutils.

    committed Mar 1, 2011
  7. fixes

    committed Mar 1, 2011
Something went wrong with that request. Please try again.