• Show log

    Commit

  • Hash : 9462c471
    Author : Vicent Marti
    Date : 2011-11-25T08:16:26

    repository: Change ownership semantics
    
    The ownership semantics have been changed all over the library to be
    consistent. There are no more "borrowed" or duplicated references.
    
    Main changes:
    
    	- `git_repository_open2` and `3` have been dropped.
    
    	- Added setters and getters to hotswap all the repository owned
    	objects:
    
    		`git_repository_index`
    		`git_repository_set_index`
    		`git_repository_odb`
    		`git_repository_set_odb`
    		`git_repository_config`
    		`git_repository_set_config`
    		`git_repository_workdir`
    		`git_repository_set_workdir`
    
    	Now working directories/index files/ODBs and so on can be
    	hot-swapped after creating a repository and between operations.
    
    	- All these objects now have proper ownership semantics with
    	refcounting: they all require freeing after they are no longer
    	needed (the repository always keeps its internal reference).
    
    	- Repository open and initialization has been updated to keep in
    	mind the configuration files. Bare repositories are now always
    	detected, and a default config file is created on init.
    
    	- All the tests affected by these changes have been dropped from the
    	old test suite and ported to the new one.
    

  • README.md

  • Writing Clay tests for libgit2

    For information on the Clay testing framework and a detailed introduction please visit:

    https://github.com/tanoku/clay

    • Write your modules and tests. Use good, meaningful names.

    • Mix the tests:

        ./clay -vtap .
    • Make sure you actually build the tests by setting:

        BUILD_CLAY=ON
    • Test:

        ./build/libgit2_clay
    • Make sure everything is fine.

    • Send your pull request. That’s it.