Skip to content
Commits on Nov 16, 2011
  1. @vmg

    threads: Fix the shared global state with TLS

    vmg committed
    See `global.c` for a description of what we're doing.
    
    When libgit2 is built with GIT_THREADS support, the threading system
    must be explicitly initialized with `git_threads_init()`.
Commits on Nov 7, 2011
  1. @vmg

    Merge pull request #475 from carlosmn/perms

    vmg committed
    Fix Windows permissions problems
  2. @carlosmn

    Write packed-refs with 0644 permissions

    carlosmn committed
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  3. @carlosmn

    Reword packed-refs error messages so they're easier to track down

    carlosmn committed
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  4. @carlosmn

    Implement p_rename

    carlosmn committed
    Move the callers of git_futils_mv_atomic to use p_rename.
    
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  5. @vmg

    Merge pull request #473 from drafnel/bc/update-examples

    vmg committed
    bc/update examples
  6. @vmg

    Merge pull request #470 from schu/test-helpers-no-assert

    vmg committed
    test_helpers: do not rely on assert
  7. @vmg

    Merge pull request #472 from libgit2/new-references

    vmg committed
    References! References! References!
  8. @drafnel
  9. @drafnel

    examples/network/git2.c: exit with proper status, and avoid segfault

    drafnel committed
    This function should exit after printing usage information if too few
    arguments were specified.
    
    Additionally, it should exit with a failure status if the first argument
    supplied is not one in the internal command list.
  10. @drafnel
  11. @drafnel

    examples/network/fetch.c: revert overzealous conversion of free to gi…

    drafnel committed
    …t__free
    
    Since git__free is not exported (it's actually a macro), it should not be
    used in client programs.  Change this call to 'git__free' back to 'free'.
Commits on Nov 6, 2011
  1. @vmg
  2. @vmg

    refs: Partial rewrite for read-only refs

    vmg committed
    This new version of the references code is significantly faster and
    hopefully easier to read.
    
    External API stays the same. A new method `git_reference_reload()` has
    been added to force updating a memory reference from disk. In-memory
    references are no longer updated automagically -- this was killing us.
    
    If a reference is deleted externally and the user doesn't reload the
    memory object, nothing critical happens: any functions using that
    reference should fail gracefully (e.g. deletion, renaming, and so on).
    
    All generated references from the API are read only and must be free'd
    by the user. There is no reference counting and no traces of generated
    references are kept in the library.
    
    There is no longer an internal representation for references. There is
    only one reference struct `git_reference`, and symbolic/oid targets are
    stored inside an union.
    
    Packfile references are stored using an optimized struct with flex array
    for reference names. This should significantly reduce the memory cost of
    loading the packfile from disk.
  3. @schu @vmg

    git_reference_rename: cleanup reference renaming

    schu committed with vmg
    git_reference_rename() didn't properly cleanup old references given by
    the user to not break some ugly old tests. Since references don't point
    to libgit's internal cache anymore we can cleanup git_reference_rename()
    to be somewhat less messy.
    
    Signed-off-by: schu <schu-github@schulog.org>
  4. @schu @vmg

    Free all used references in the source tree

    schu committed with vmg
    Since references are not owned by the repository anymore we have to free
    them manually now.
    
    Signed-off-by: schu <schu-github@schulog.org>
  5. @schu @vmg

    refs: add test case checking "immutable" references

    schu committed with vmg
    Signed-off-by: schu <schu-github@schulog.org>
  6. @schu @vmg

    refs: split internal and external references

    schu committed with vmg
    Currently libgit2 shares pointers to its internal reference cache with
    the user. This leads to several problems like invalidation of reference
    pointers when reordering the cache or manipulation of the cache from
    user side.
    
    Give each user its own git_reference instead of leaking the internal
    representation (struct reference).
    
    Add the following new API functions:
    
    	* git_reference_free
    	* git_reference_is_packed
    
    Signed-off-by: schu <schu-github@schulog.org>
Commits on Nov 5, 2011
  1. @drafnel

    examples/general.c: update for recent API renaming of git_config_get_int

    drafnel committed
    git_config_get_int --> git_config_get_int32
Commits on Oct 30, 2011
  1. @schu

    test_helpers: do not rely on assert

    schu committed
    The functions loose_object_mode and loose_object_dir_mode call stat
    inside an assert statement which isn't evaluated when compiling in
    Release mode (NDEBUG) and leads to failing tests. Replace it.
    
    Signed-off-by: schu <schu-github@schulog.org>
Commits on Oct 29, 2011
  1. @vmg

    Merge pull request #468 from nulltoken/ntk/fix/issue-465

    vmg committed
    Status: fix segfault (#465) and order issues
  2. @nulltoken

    status: Fix a sorting issue in the treewalker

    nulltoken committed
    This ensures that entries from the working directory are retrieved according to the following rules:
    
     - The file "subdir" should appear before the file "subdir.txt"
     - The folder "subdir" should appear after the file "subdir.txt"
  3. @nulltoken

    status: Add a file in the test repository to cover the correct sortin…

    nulltoken committed
    …g of entries when the working folder is being read
    
    In this case, "subdir.txt" should be listed before the "subdir" directory.
  4. @nulltoken
  5. @vmg

    Merge pull request #456 from brodie/perm-fixes

    vmg committed
    Create objects, indexes, and directories with the right file permissions
  6. @vmg

    global: Properly use `git__` memory wrappers

    vmg committed
    Ensure that all memory related functions (malloc, calloc, strdup, free,
    etc) are using their respective `git__` wrappers.
Commits on Oct 28, 2011
  1. @vmg

    tree: Add traversal in post-order

    vmg committed
  2. @vmg
Commits on Oct 27, 2011
  1. @carlosmn

    status: move GIT_STATUS_PATH_* into an enum

    carlosmn committed
    Their actual values have no meaning, so pack them in an enum.
    
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  2. @carlosmn

    status: reorder retrieve_head_tree error checks

    carlosmn committed
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  3. @carlosmn

    status: remove git_tree_entry_bypos

    carlosmn committed
    The only caller has been changed to treat a NULL tree as a special
    case and use the existing git_tree_entry_byindex.
    
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  4. @carlosmn

    status: remove git_index_entry_bypos

    carlosmn committed
    This function is already implemented (better) as git_index_get. Change
    the only caller to use that function.
    
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
  5. @vmg

    Merge pull request #467 from oleganza/oa-config-parse-fix

    vmg committed
    Fixed crash in config parser when empty value is encountered.
  6. @oleganza

    Fixed crash in config parser when empty value is encountered.

    oleganza committed
    Example:
    
    key1 = value1
    key2 =
    
    In this config the value will be a bad pointer which config object will attempt to free() causing a crash.
  7. @vmg

    Merge pull request #463 from schu/tests-clay-object-raw

    vmg committed
    tests-clay: move t01-rawobj.c to clay
Something went wrong with that request. Please try again.