tests/status/renames.c


Log

Author Commit Date CI Message
Edward Thomson 9faa9199 2022-01-06T07:42:01 status: don't use `// ...` in tests, use `/* ... */`
Edward Thomson ca9f6b98 2022-01-06T07:41:27 Merge remote-tracking branch 'pr/6159'
Edward Thomson da5385c6 2022-01-06T07:39:21 status: don't use `// ...` in tests, use `/* ... */`
Miguel Arroz a3436cde 2022-01-01T15:17:08 #6154 git_status_list_new case insensitive fix
Miguel Arroz ef848891 2021-12-31T16:40:58 Add `rename_threshold` to `git_status_options`.
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 18e71e6d 2018-11-28T13:31:06 index: use new enum and structure names Use the new-style index names throughout our own codebase.
Patrick Steinhardt ecf4f33a 2018-02-08T11:14:48 Convert usage of `git_buf_free` to new `git_buf_dispose`
Edward Thomson 9af7fbc3 2018-01-21T14:00:50 status::renames: write NFD instead of NFC filename Update the status::renames test to create an NFD format filename in the core.precomposedunicode tests. Previously, we would create an NFC format filename. This was to take advantage of HFS+ filesystems, which always use canonically decomposed formats, and would actually write the filename to disk as an NFD filename. So previously, we could create an NFC filename, but read it normally as an NFD filename. But APFS formats do not force canonically decomposed formats for filenames, so creating an NFC filename does not get converted to NFD. Instead, the filename will be written in NFC format. Our test, therefore, does not work - when we write an NFC filename, it will _remain_ NFC. Update the test to write NFD always. This will ensure that the file will actually be canonically decomposed on all platforms: HFS+, which forces NFD, and APFS, which does not. Thus, our test will continue to ensure that an NFD filename is canonically precomposed on all filesystems.
Edward Thomson f286e271 2015-03-31T16:06:33 status test: always test the new file path
Russell Belfer 6b833e3a 2014-04-24T15:40:50 Improve docs for status rename detection limits and make tests empty on platforms without iconv support.
Russell Belfer f608f3bb 2014-04-24T15:25:01 Test toggling core.precomposeunicode yields rename There is an interesting difference with core Git here, though. Because libgit2 will do rename detection with the working directory, in the last case where the HEAD and the working directory both have the decomposed data and the index has the composed data, we generate a single status record with two renames whereas Git will generate one rename (head to index) and one untracked file.
Russell Belfer 2334e3d8 2014-04-24T14:46:59 Test decomposed unicode renames work as expected
Russell Belfer 3cf11eef 2014-01-28T11:47:33 Misc cleanups
Edward Thomson 410a8e6f 2014-01-22T18:31:25 Sometimes a zero byte file is just a zero byte file Don't go to the ODB to resolve zero byte files in the workdir
Ben Straub 17820381 2013-11-14T14:05:52 Rename tests-clar to tests