tests/network/fetchlocal.c


Log

Author Commit Date CI Message
Yoichi Nakayama 7bb206a7 2021-11-23T10:12:29 Merge branch 'main' into better-compatiblity-for-at-time-notation Conflicts: src/revparse.c
Edward Thomson ca14942e 2021-11-11T13:28:08 tests: declare functions statically where appropriate
Yoichi Nakayama 49ebc8a7 2021-10-22T00:08:52 Add a branch with a empty reflog into testrepo.git
Edward Thomson f0e693b1 2021-09-07T17:53:49 str: introduce `git_str` for internal, `git_buf` is external libgit2 has two distinct requirements that were previously solved by `git_buf`. We require: 1. A general purpose string class that provides a number of utility APIs for manipulating data (eg, concatenating, truncating, etc). 2. A structure that we can use to return strings to callers that they can take ownership of. By using a single class (`git_buf`) for both of these purposes, we have confused the API to the point that refactorings are difficult and reasoning about correctness is also difficult. Move the utility class `git_buf` to be called `git_str`: this represents its general purpose, as an internal string buffer class. The name also is an homage to Junio Hamano ("gitstr"). The public API remains `git_buf`, and has a much smaller footprint. It is generally only used as an "out" param with strict requirements that follow the documentation. (Exceptions exist for some legacy APIs to avoid breaking callers unnecessarily.) Utility functions exist to convert a user-specified `git_buf` to a `git_str` so that we can call internal functions, then converting it back again.
Edward Thomson 51eff5a5 2020-05-29T13:13:19 strarray: we should `dispose` instead of `free` We _dispose_ the contents of objects; we _free_ objects (and their contents). Update `git_strarray_free` to be `git_strarray_dispose`. `git_strarray_free` remains as a deprecated proxy function.
Etienne Samson 39d18fe6 2019-07-31T08:37:10 smart: use push_glob instead of manual filtering The code worked under the assumption that anything under `refs/tags` are tag objects, and all the rest would be peelable to a commit. As it is completely valid to have tags to blobs under a non `refs/tags` ref, this would cause failures when trying to peel a tag to a commit. Fix the broken filtering by switching to `git_revwalk_push_glob`, which already handles this case.
Edward Thomson a1ef995d 2019-02-21T10:33:30 indexer: use git_indexer_progress throughout Update internal usage of `git_transfer_progress` to `git_indexer_progreses`.
Edward Thomson ed8cfbf0 2019-01-17T00:32:31 references: use new names in internal usage Update internal usage to use the `git_reference` names for constants.
Patrick Steinhardt 093e671e 2018-01-12T12:55:40 tests: network::fetchlocal: let cleanup function handle sandbox cleanup Two tests in network::fetchlocal explicitly set a cleanup function to free and remove the created sandbox repositories. This is not necessary, though, as the cleanup function executed after each test already takes care of cleaning up after them. Remove the code to avoid needless code duplication.
Carlos Martín Nieto a8792767 2015-08-11T20:44:19 remote: add failing test for a mirror refspec While we download the remote's remote-tracking branches, we don't download the tag. This points to the tag auto-follow rules interfering with the refspec.
Carlos Martín Nieto 77254990 2015-04-23T06:51:34 remote: remove live changing of refspecs The base refspecs changing can be a cause of confusion as to what is the current base refspec set and complicate saving the remote's configuration. Change `git_remote_add_{fetch,push}()` to update the configuration instead of an instance. This finally makes `git_remote_save()` a no-op, it will be removed in a later commit.
Carlos Martín Nieto 22261344 2015-04-22T04:38:08 remote: remove url and pushurl from the save logic As a first step in removing the repository-saving logic, don't allow chaning the url or push url from a remote object, but change the configuration on the configuration immediately.
Carlos Martín Nieto 8f0104ec 2015-04-21T22:10:36 Remove the callbacks struct from the remote Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
Carlos Martín Nieto 659cf202 2015-01-07T12:23:05 Remove the signature from ref-modifying functions 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.
David Calavera de4a75f9 2015-01-07T09:26:36 Fix more indentation.
David Calavera 66b71ea5 2015-01-05T13:33:36 Fix intentation.
David Calavera 1ef3f0ce 2015-01-05T13:24:11 Load prune configuration when a remote is created.
Edward Thomson a3ef70bb 2014-12-30T11:53:55 Merge pull request #2761 from libgit2/cmn/fetch-prune Remote-tracking branch prunning
Carlos Martín Nieto 3ded7f28 2014-12-16T10:05:49 local: add failing test for sideband information We do not currently generate any messages when we're counting the objects, as might be expected from a local upload-pack. Assert that we do call the function when working.
Carlos Martín Nieto 4adc64a8 2014-12-14T21:24:46 fetch: plug leaks in the prune tests
Carlos Martín Nieto 26186b15 2014-12-14T21:01:19 fetch: remove the prune setter This option does not get persisted to disk, which makes it different from the rest of the setters. Remove it until we go all the way. We still respect the configuration option, and it's still possible to perform a one-time prune by calling the function.
Carlos Martín Nieto 7b6e1e4c 2014-12-14T20:40:52 fetch: add test for the other order of overlapping specs
Carlos Martín Nieto 4aa23369 2014-12-14T16:56:38 fetch: assert we don't call update tips when there are no upates This is hiding a bug in the prune code, whereby we prune references we shouldn't but don't notice it in the code afterwards because update_tips() recreates them. This means that we do perform changes to the references (and get rid of the reflogs) when we shouldn't.
Carlos Martín Nieto 020aab93 2014-12-14T16:50:33 fetch: do set prune when testing We load the remote again, so we need to ask the new remote to prune the refs, or we're not exercising the code in our tests.
David Calavera 5e0c3d2d 2014-11-13T11:26:02 Make sure that `fetch --prune --tags` doesn't remove tags.
David Calavera b91194e8 2014-11-13T09:22:10 Cleanup repository after prune tests.
David Calavera 93d968fa 2014-11-12T22:05:09 Cleanup after testing remote prune.
David Calavera 82eeba81 2014-11-12T20:44:28 Fix references to git_remote_lookup.
David Calavera 439e19f6 2014-11-12T17:12:30 Test that prune overlapping works as expected.
David Calavera ce4b57c6 2014-10-27T14:40:33 Fix calls to `git_remote_download` and `git_remote_fetch`.
Linquize b8fefcb9 2014-09-23T23:21:41 Add test for prune refs
Carlos Martín Nieto 209425ce 2014-11-08T13:25:51 remote: rename _load() to _lookup() This brings it in line with the rest of the lookup functions.
Carlos Martín Nieto fad0aea9 2014-10-27T01:47:40 tests: fix leak
Linquize 9223f288 2014-10-27T01:06:28 Fix test repo dir not deleted after running
Carlos Martín Nieto 942a7b39 2014-10-10T18:03:09 Fix test build Some PRs have fallen out of sync with the changes in signatures, so we need to take a few extra parameters into account.
Carlos Martín Nieto 2139c9b7 2014-10-10T17:50:28 Merge pull request #2542 from linquize/fetch-head Do not error out when fetching from second remote
Carlos Martín Nieto 3f894205 2014-06-06T15:01:45 remote: allow overriding the refspecs for download and fetch With opportunistic ref updates, git has introduced the concept of having base refspecs *and* refspecs that are active for a particular fetch. Let's start by letting the user override the refspecs for download.
Linquize 8deea589 2014-09-02T19:35:06 Add network::fetchlocal multi remotes test
Carlos Martín Nieto 6812afaf 2014-06-30T21:36:38 clone: remote git_clone_into{,_local} from the public API As git_clone now has callbacks to configure the details of the repository and remote, remove the lower-level functions from the public API, as they lack some of the logic from git_clone proper.
Carlos Martín Nieto b2067248 2014-05-15T09:03:30 clone: add failing test for a mirror-clone with clone_into Show a failure to perform a mirror-clone from a repository, both local and remote.
Ben Straub c3ab1e5a 2014-02-04T20:38:13 Add reflog parameters to remote apis Also added a test for git_remote_fetch.
Ben Straub 17820381 2013-11-14T14:05:52 Rename tests-clar to tests