Code

Merge branch 'jk/archive-tar-filter'
authorJunio C Hamano <gitster@pobox.com>
Tue, 19 Jul 2011 16:45:32 +0000 (09:45 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 19 Jul 2011 16:45:32 +0000 (09:45 -0700)
* jk/archive-tar-filter:
  upload-archive: allow user to turn off filters
  archive: provide builtin .tar.gz filter
  archive: implement configurable tar filters
  archive: refactor file extension format-guessing
  archive: move file extension format-guessing lower
  archive: pass archiver struct to write_archive callback
  archive: refactor list of archive formats
  archive-tar: don't reload default config options
  archive: reorder option parsing and config reading

1  2 
archive-zip.c

diff --combined archive-zip.c
index 72d55a58ac60019f9f6175d4c86af47348630762,3c102a1648304552ff24f8a7fad92b2fc35bba01..02d1f3787acd8d6583073458ab7c8946684f9371
@@@ -90,14 -90,14 +90,14 @@@ static void copy_le32(unsigned char *de
  static void *zlib_deflate(void *data, unsigned long size,
                int compression_level, unsigned long *compressed_size)
  {
 -      z_stream stream;
 +      git_zstream stream;
        unsigned long maxsize;
        void *buffer;
        int result;
  
        memset(&stream, 0, sizeof(stream));
 -      deflateInit(&stream, compression_level);
 -      maxsize = deflateBound(&stream, size);
 +      git_deflate_init(&stream, compression_level);
 +      maxsize = git_deflate_bound(&stream, size);
        buffer = xmalloc(maxsize);
  
        stream.next_in = data;
        stream.avail_out = maxsize;
  
        do {
 -              result = deflate(&stream, Z_FINISH);
 +              result = git_deflate(&stream, Z_FINISH);
        } while (result == Z_OK);
  
        if (result != Z_STREAM_END) {
                return NULL;
        }
  
 -      deflateEnd(&stream);
 +      git_deflate_end(&stream);
        *compressed_size = stream.total_out;
  
        return buffer;
@@@ -261,7 -261,8 +261,8 @@@ static void dos_time(time_t *time, int 
        *dos_time = t->tm_sec / 2 + t->tm_min * 32 + t->tm_hour * 2048;
  }
  
- int write_zip_archive(struct archiver_args *args)
+ static int write_zip_archive(const struct archiver *ar,
+                            struct archiver_args *args)
  {
        int err;
  
  
        return err;
  }
+ static struct archiver zip_archiver = {
+       "zip",
+       write_zip_archive,
+       ARCHIVER_WANT_COMPRESSION_LEVELS|ARCHIVER_REMOTE
+ };
+ void init_zip_archiver(void)
+ {
+       register_archiver(&zip_archiver);
+ }