summaryrefslogtreecommitdiff
path: root/tests/repo
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Xcode 6.1 build warningsPierre-Olivier Latour2015-06-231-2/+2
|
* repository: check the format versioncmn/repo-version-checkCarlos Martín Nieto2015-06-231-0/+17
| | | | | | | | This is something we do on re-init but not when opening a repository. This hasn't particularly mattered up to now as the version has been 0 ever since the first release of git, but the times, they're a-changing and we will soon see version 1 in the wild. We need to make sure we don't open those.
* Merge remote-tracking branch 'ethomson/submodule_8dot3'Carlos Martín Nieto2015-03-181-0/+108
|\
| * repository: Introduce "reserved names"Edward Thomson2015-02-271-0/+108
| | | | | | | | | | | | | | A repository can have multiple "reserved names" now, not just a single "short name" for the repository folder itself. Refactor to include a git_repository__reserved_names that returns all the reserved names for a repository.
* | Add tests for the annotated versions of ref-modifying functionsCarlos Martín Nieto2015-03-161-0/+8
| | | | | | | | | | This also brings the soft-reset tests back to life. The function name was missing an underscore, meaning they had not been running.
* | repository_new: test its barenessEdward Thomson2015-03-101-0/+27
| |
* | config: borrow refcounted referencescmn/config-borrow-entryCarlos Martín Nieto2015-03-032-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
* | repository: remove log message override for switching the active branchCarlos Martín Nieto2015-03-033-48/+34
| | | | | | | | | | | | We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
* | Remove the signature from ref-modifying functionsCarlos Martín Nieto2015-03-034-37/+35
|/ | | | | | | | | | The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
* tests: separate INVASIVE filesystem testsEdward Thomson2015-02-191-1/+1
| | | | | | Introduce GITTEST_INVASIVE_FS_STRUCTURE for things that are invasive to your filesystem structure (like creating folders at your filesystem root) and GITTEST_INVASIVE_FS_SIZE for things that write lots of data.
* Merge pull request #2866 from ethomson/checkout_perf2Carlos Martín Nieto2015-02-121-1/+2
|\ | | | | Checkout performance
| * tests: update for new test dataEdward Thomson2015-02-021-1/+2
| |
* | repo: ensure we can create repo at filesystem rootEdward Thomson2015-02-051-0/+26
|/ | | | | | | | | Test to ensure that we can create a repository at the filesystem root. Introduces a new test environment variable, `GITTEST_INVASIVE_FILESYSTEM` for tests that do terrible things like escaping the clar sandbox and writing to the root directory. It is expected that the CI builds will enable this but that normal people would not want this.
* repo::init test: create hook symlinkEdward Thomson2015-01-081-9/+40
| | | | | | | Remove the hook symlink from the test resources, so that we can have a source tree that is easy to zip up and copy around on systems that don't support symlinks. Create it dynamically at test execution instead.
* treebuilder: rename _create() to _new()cmn/treebuilder-newCarlos Martín Nieto2014-12-271-1/+1
| | | | | | This function is a constructor, so let's name it like one and leave _create() for the reference functions, which do create/write the reference.
* treebuilder: take a repository for path validationEdward Thomson2014-12-171-2/+2
| | | | | | Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
* remote: rename _load() to _lookup()cmn/remote-lookupCarlos Martín Nieto2014-11-081-1/+1
| | | | This brings it in line with the rest of the lookup functions.
* iterator: submodules are determined by an index or treecmn/submodule-and-dirCarlos Martín Nieto2014-11-071-17/+17
| | | | | | | | | | | | We cannot know from looking at .gitmodules whether a directory is a submodule or not. We need the index or tree we are comparing against to tell us. Otherwise we have to assume the entry in .gitmodules is stale or otherwise invalid. Thus we pass the index of the repository into the workdir iterator, even if we do not want to compare against it. This follows what git does, which even for `git diff <tree>`, it will consider staged submodules as such.
* Clean up some leaks in the test suiteCarlos Martín Nieto2014-09-171-0/+1
|
* Introduce option to use relative paths for repository work directoryjamill/relative_gitlinkJameson Miller2014-09-021-0/+78
| | | | | | | Teach git_repository_init_ext to use relative paths for the gitlink to the work directory. This is used when creating a sub repository where the sub repository resides in the parent repository's .git directory.
* Don't report status on named pipesRussell Belfer2014-08-081-0/+32
| | | | | Git skips entries in directories that are not S_ISDIR, S_ISREG, or S_ISLNK, so let's make libgit2 do the same thing.
* git_cherry_pick -> git_cherrypickEdward Thomson2014-07-221-2/+2
|
* Introduce cl_assert_equal_oidEdward Thomson2014-07-012-8/+8
|
* Fix compile error on Visual StudioCha, Hojeong2014-05-271-1/+1
|
* Better search path sandboxingrb/restore-search-pathsRussell Belfer2014-05-152-20/+23
| | | | | | | There are a number of tests that modify the global or system search paths during the tests. This adds a helper function to make it easier to restore those paths and makes sure that they are getting restored in a manner that preserves test isolation.
* Correct C90 warningsJacques Germishuys2014-04-111-2/+3
|
* git_repository_state_cleanup() should remove rebase-merge/, rebase-apply/ ↵Jacques Germishuys2014-04-071-0/+18
| | | | and BISECT_LOG
* reflog: handle symref chainsCarlos Martín Nieto2014-03-191-0/+51
| | | | | Given HEAD -> master -> foo, when updating foo's reflog we should also update HEAD's, as it's considered the current branch.
* reflog: handle the birth of a branchCarlos Martín Nieto2014-03-191-0/+48
| | | | | | The reflog append function was overzealous in its checking. When passed an old and new ids, it should not do any checking, but just serialize the data to a reflog entry.
* refdb: don't update when there's no needCarlos Martín Nieto2014-03-191-0/+27
| | | | | If the caller wants to update a ref to point to the same target as it currently has, we should return early and avoid writing to the reflog.
* reflog: more comprehensive HEAD testsCarlos Martín Nieto2014-03-181-0/+72
| | | | | | | | | The existing ones lack checking zeroed ids when switching back from an unborn branch as well as what happens when detaching. The reflog appending function mistakenly wrote zeros when dealing with a detached HEAD. This explicitly checks for those situations and fixes them.
* refs: append to the HEAD reflog when updating the current branchCarlos Martín Nieto2014-03-171-2/+1
| | | | | | | | When we update the current branch, we must also append to HEAD's reflog to keep them in sync. This is a bit of a hack, but as git.git says, it covers 100% of default cases.
* repo: remove test which deletes HEADCarlos Martín Nieto2014-03-171-21/+0
| | | | | | This is not something anybody would ever do; removing HEAD makes the .git/ directory no longer be a repository, so we wouldn't be expected to handle such a situation.
* Move system directory cache out of utilsEdward Thomson2014-02-242-5/+7
|
* Address PR commentsRussell Belfer2014-02-201-1/+1
| | | | | | | * Make GIT_INLINE an internal definition so it cannot be used in public headers * Fix language in CONTRIBUTING * Make index caps API use signed instead of unsigned values
* Improve error propagation in shallow callBen Straub2014-02-181-0/+6
|
* Merge pull request #2099 from libgit2/bs/more-reflog-stuffRussell Belfer2014-02-073-9/+30
|\ | | | | More reflogness
| * Add reflog params to git_repository_detach_headBen Straub2014-02-043-9/+30
| |
| * Fix warningBen Straub2014-02-031-1/+1
| |
* | Fix some Windows warningsRussell Belfer2014-02-072-16/+14
|/ | | | | | This fixes a number of warnings with the Windows 64-bit build including a test failure in test_repo_message__message where an invalid pointer to a git_buf was being used.
* Add failing test caseBen Straub2014-02-011-13/+38
|
* Enhance testing of signature parametersBen Straub2014-01-301-3/+10
|
* Ensure creating HEAD creates its reflogBen Straub2014-01-301-0/+21
|
* Ensure updating HEAD updates reflogBen Straub2014-01-301-0/+23
|
* Add reflog params to set-head callsBen Straub2014-01-301-8/+8
|
* repository: move to use a git_buf for outputting stringsCarlos Martín Nieto2014-01-272-49/+39
| | | | | Since we now export that type, we can avoid making the user guess a size.
* refs: remove the _with_log differentiationCarlos Martín Nieto2014-01-152-4/+4
| | | | | | Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
* Rename tests-clar to testsBen Straub2013-11-1416-0/+3369