Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 15, 2014
  1. Jeff King Junio C Hamano

    argv-array: drop "detach" code

    peff authored gitster committed
    The argv_array_detach function (and associated free() function) was
    really only useful for transferring ownership of the memory to a "struct
    child_process". Now that we have an internal argv_array in that struct,
    there are no callers left.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 25, 2012
  1. Jeff King

    Merge branch 'fa/remote-svn'

    peff authored
    A GSoC project.
    
    * fa/remote-svn:
      Add a test script for remote-svn
      remote-svn: add marks-file regeneration
      Add a svnrdump-simulator replaying a dump file for testing
      remote-svn: add incremental import
      remote-svn: Activate import/export-marks for fast-import
      Create a note for every imported commit containing svn metadata
      vcs-svn: add fast_export_note to create notes
      Allow reading svn dumps from files via file:// urls
      remote-svn, vcs-svn: Enable fetching to private refs
      When debug==1, start fast-import with "--stats" instead of "--quiet"
      Add documentation for the 'bidi-import' capability of remote-helpers
      Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability
      Add argv_array_detach and argv_array_free_detached
      Add svndump_init_fd to allow reading dumps from arbitrary FDs
      Add git-remote-testsvn to Makefile
      Implement a remote helper for svn in C
Commits on Oct 7, 2012
  1. flyingflo Junio C Hamano

    Add argv_array_detach and argv_array_free_detached

    flyingflo authored gitster committed
    Allow detaching of ownership of the argv_array's contents and add a
    function to free those detached argv_arrays later.
    
    This makes it possible to use argv_array efficiently with the exiting
    struct child_process which only contains a member char **argv.
    
    Add to documentation.
    
    Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
    Acked-by: David Michael Barr <b@rr-dav.id.au>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 3, 2012
  1. Jeff King Junio C Hamano

    argv-array: fix bogus cast when freeing array

    peff authored gitster committed
    Since the array struct stores a "const char **" argv member
    (for compatibility with most of our argv-taking functions),
    we have to cast away the const-ness when freeing its
    elements.
    
    However, we used the wrong type when doing so.  It doesn't
    make a difference since free() take a void pointer anyway,
    but it can be slightly confusing to a reader.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Jeff King Junio C Hamano

    argv-array: add pop function

    peff authored gitster committed
    Sometimes we build a set of similar command lines, differing
    only in the final arguments (e.g., "fetch --multiple"). To
    use argv_array for this, you have to either push the same
    set of elements repeatedly, or break the abstraction by
    manually manipulating the array's internal members.
    
    Instead, let's provide a sanctioned "pop" function to remove
    elements from the end.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 18, 2012
  1. Jeff King Junio C Hamano

    argv-array: add a new "pushl" method

    peff authored gitster committed
    It can be convenient to push many strings in a single line
    (e.g., if you are initializing an array with defaults). This
    patch provides a convenience wrapper to allow this.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Jeff King Junio C Hamano

    argv-array: refactor empty_argv initialization

    peff authored gitster committed
    An empty argv-array is initialized to point to a static
    empty NULL-terminated array.  The original implementation
    separates the actual storage of the NULL-terminator from the
    pointer to the list.  This makes the exposed type a "const
    char **", which nicely matches the type stored by the
    argv-array.
    
    However, this indirection means that one cannot use
    empty_argv to initialize a static variable, since it is
    not a constant.
    
    Instead, we can expose empty_argv directly, as an array of
    pointers. The only place we use it is in the ARGV_ARRAY_INIT
    initializer, and it decays to a pointer appropriately there.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 14, 2011
  1. Jeff King Junio C Hamano

    refactor argv_array into generic code

    peff authored gitster committed
    The submodule code recently grew generic code to build a
    dynamic argv array. Many other parts of the code can reuse
    this, too, so let's make it generically available.
    
    There are two enhancements not found in the original code:
    
      1. We now handle the NULL-termination invariant properly,
         even when no strings have been pushed (before, you
         could have an empty, NULL argv). This was not a problem
         for the submodule code, which always pushed at least
         one argument, but was not sufficiently safe for
         generic code.
    
      2. There is a formatted variant of the "push" function.
         This is a convenience function which was not needed by
         the submodule code, but will make it easier to port
         other users to the new code.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.