Permalink
Commits on Nov 7, 2011
  1. Merge pull request #475 from carlosmn/perms

    Fix Windows permissions problems
    vmg committed Nov 7, 2011
  2. Write packed-refs with 0644 permissions

    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
    carlosmn committed Nov 7, 2011
  3. Reword packed-refs error messages so they're easier to track down

    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
    carlosmn committed Nov 7, 2011
  4. Implement p_rename

    Move the callers of git_futils_mv_atomic to use p_rename.
    
    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
    carlosmn committed Nov 7, 2011
  5. Merge pull request #473 from drafnel/bc/update-examples

    bc/update examples
    vmg committed Nov 7, 2011
  6. Merge pull request #470 from schu/test-helpers-no-assert

    test_helpers: do not rely on assert
    vmg committed Nov 7, 2011
  7. Merge pull request #472 from libgit2/new-references

    References! References! References!
    vmg committed Nov 7, 2011
  8. examples/network/git2.c: exit with proper status, and avoid segfault

    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.
    drafnel committed Nov 7, 2011
  9. examples/network/fetch.c: revert overzealous conversion of free to gi…

    …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'.
    drafnel committed Nov 7, 2011
Commits on Nov 6, 2011
  1. refs: Partial rewrite for read-only refs

    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.
    vmg committed Oct 31, 2011
  2. git_reference_rename: cleanup reference renaming

    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>
    schu committed with vmg Aug 13, 2011
  3. Free all used references in the source tree

    Since references are not owned by the repository anymore we have to free
    them manually now.
    
    Signed-off-by: schu <schu-github@schulog.org>
    schu committed with vmg Aug 11, 2011
  4. refs: add test case checking "immutable" references

    Signed-off-by: schu <schu-github@schulog.org>
    schu committed with vmg Jul 26, 2011
  5. refs: split internal and external references

    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>
    schu committed with vmg Aug 10, 2011
Commits on Nov 5, 2011
  1. examples/general.c: update for recent API renaming of git_config_get_int

    git_config_get_int --> git_config_get_int32
    drafnel committed Nov 5, 2011
Commits on Oct 30, 2011
  1. test_helpers: do not rely on assert

    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>
    schu committed Oct 30, 2011
Commits on Oct 29, 2011
  1. Merge pull request #468 from nulltoken/ntk/fix/issue-465

    Status: fix segfault (#465) and order issues
    vmg committed Oct 29, 2011
  2. status: Fix a sorting issue in the treewalker

    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"
    nulltoken committed Oct 29, 2011
  3. status: Add a file in the test repository to cover the correct sortin…

    …g of entries when the working folder is being read
    
    In this case, "subdir.txt" should be listed before the "subdir" directory.
    nulltoken committed Oct 29, 2011
  4. Merge pull request #456 from brodie/perm-fixes

    Create objects, indexes, and directories with the right file permissions
    vmg committed Oct 29, 2011
  5. global: Properly use `git__` memory wrappers

    Ensure that all memory related functions (malloc, calloc, strdup, free,
    etc) are using their respective `git__` wrappers.
    vmg committed Oct 28, 2011
Commits on Oct 28, 2011
  1. tree: Add traversal in post-order

    vmg committed Oct 28, 2011
Commits on Oct 27, 2011
  1. status: move GIT_STATUS_PATH_* into an enum

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

    Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
    carlosmn committed Oct 22, 2011
  3. status: remove git_tree_entry_bypos

    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>
    carlosmn committed Oct 22, 2011
  4. status: remove git_index_entry_bypos

    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>
    carlosmn committed Oct 22, 2011
  5. Merge pull request #467 from oleganza/oa-config-parse-fix

    Fixed crash in config parser when empty value is encountered.
    vmg committed Oct 27, 2011
  6. Fixed crash in config parser when empty value is encountered.

    Example:
    
    key1 = value1
    key2 =
    
    In this config the value will be a bad pointer which config object will attempt to free() causing a crash.
    oleganza committed Oct 27, 2011
  7. Merge pull request #463 from schu/tests-clay-object-raw

    tests-clay: move t01-rawobj.c to clay
    vmg committed Oct 27, 2011
  8. windows: Add support for non-UTF codepages

    Our previous assumption that all paths in Windows are encoded in UTF-8
    is rather weak, specially when considering that Git is
    encoding-agnostic.
    
    These set of functions allow the user to change the library's active
    codepage globally, so it is possible to access paths and files on all
    international versions of Windows.
    
    Note that the default encoding here is UTF-8 because we assume that 99%
    of all Git repositories will be in UTF-8.
    
    Also, if you use non-ascii characters in paths, anywhere, please burn on
    a fire.
    vmg committed with carlosmn Oct 26, 2011