Log

Author Commit Date CI Message
Christian Weisgerber 78fb0967 2020-09-09T21:41:22 use the POSIX standard endian functions and explicitly include <endian.h> ok stsp
Christian Weisgerber 81a12da5 2020-09-09T19:35:32 do not rely on <zlib.h> to pull in <unistd.h> ok stsp
Stefan Sperling 4dbec0a8 2020-08-27T10:46:17 actually make use of an intermediate variable in cmd_clone() found by tracey's scan-build
Stefan Sperling ef744db3 2020-08-27T10:18:21 in got_object_commit_get_logmsg(), handle log messages which lack '\n' found by tracey's scan-build
Stefan Sperling d6b7d054 2020-08-27T10:06:18 exit the loop in got_privsep_recv_tree() upon error found while looking over tracey's scan-build results
Stefan Sperling fca1f6ad 2020-08-27T10:05:38 plug a memory leak in got_privsep_recv_tree() in error case found while looking over tracey's scan-build results
Stefan Sperling 081470ac 2020-08-13T19:12:57 add -s option to 'got status' which acts as a status code filter Advantages over using grep are that the list of codes is validated against a list of known status codes, and that it is easier to match staged files which can display status codes in one or both of two columns. Prompted by feedback from krw@
Stefan Sperling 766841c2 2020-08-13T19:12:57 add -s option to 'got remove' which deletes files in a particular status This makes it easy to deal with files that were deleted from disk by external tooling which modified the work tree. Such files are left in missing (!) status and can now be marked for deletion in bulk via 'got rm -s\! -R .' For consistency, modified (M) files can now be removed with 'got rm -s M' which implies 'got rm -f'. Prompted by feedback from krw@
Stefan Sperling ae6a6978 2020-08-09T21:56:11 speed up 'tog diff' get_filestream_info() a bit With this, 'tog diff' is able to display clang 10 commits. However, such huge diffs still take a rather long time to open. get_filestream_info() is a hack. Ideally, diff line-offset information needed by tog should be part of the result of the diff operation, rather than forcing tog to calculate line offsets during a post-processing step.
Stefan Sperling 7510f233 2020-08-09T20:37:53 simplify resource cleanup upon errors in get_filestream_info()
Stefan Sperling 0dc7faa9 2020-08-09T20:33:12 fix double-free when quitting tog's diff view; found by ofree at /home/stsp/src/got/tog/tog.c:3415 3415 free(s->line_offsets); (gdb) bt msg=0x80e2a4cd87e "chunk is already free %p") at /usr/src/lib/libc/stdlib/malloc.c:300 check=1) at /usr/src/lib/libc/stdlib/malloc.c:1070 clear=0, check=<optimized out>, argsz=0) at /usr/src/lib/libc/stdlib/malloc.c:1431 at /usr/src/lib/libc/stdlib/malloc.c:1488 at /home/stsp/src/got/tog/tog.c:3415 at /home/stsp/src/got/tog/tog.c:518 at /home/stsp/src/got/tog/tog.c:954 at /home/stsp/src/got/tog/tog.c:2728 at /home/stsp/src/got/tog/tog.c:5683 (gdb)
Tracey Emery 369eef86 2020-08-09T17:41:46 fix some memory leaks in tog
Stefan Sperling d93542d4 2020-08-08T12:09:35 In got-worktree(5), explain how to re-create a corrupt or missing file index.
Stefan Sperling 7fb414ae 2020-08-08T07:34:47 add a -q option to tests for quiet output and use it for 'make regress' Previous default output remains when test cases are run individually. ok tracey
Stefan Sperling 6d7260fd 2020-08-03T07:56:23 remove remnants of recursive include support from parse.y
Tracey Emery 51b930a3 2020-08-02T16:50:17 clean up those one-liner assignments ok stsp
Stefan Sperling 9e6e8e60 2020-08-02T16:38:51 got parse.y tweaks Rename things to better match their intended purpose. Tweak namespacing. Add a function for freeing config items that are dynamically allocated. Add 'struct gotconfig' to make room for potential global settings we might want to add later, instead of implementing just a list of remote repositories. ok tracey
Stefan Sperling 129294bb 2020-08-02T12:24:03 bump version number
Stefan Sperling 0fe7d714 2020-08-02T12:19:59 CHANGES for 0.38
Stefan Sperling 502b9684 2020-07-31T15:36:42 make 'got log' -R and -P options work in combination With -R, the -P option did not show any paths. Regression test added here demonstrates the problem.
Christian Weisgerber 631179de 2020-07-31T14:10:44 Fix missing block grouping. ok tracey stsp
Stefan Sperling 528c17dd 2020-07-31T13:01:24 use a more precise regex for color-highlighting 'commit' lines in 'tog log'
Stefan Sperling f2b0a8b0 2020-07-31T12:54:34 fix committing file additions from a work tree with a path prefix New files were added under the wrong tree in the repository if the work tree has a path prefix. Fix this problem and catch it in the existing commit_with_path_prefix regression test.
Stefan Sperling 69d57f3d 2020-07-31T11:19:29 fix spurious 'got cherrypick' error with a path prefix and an empty tree If the work tree's path prefix does not exist in the first of the two trees, then 'got cherrypick' failed with "no such entry found in tree". But this is a legitimate situation, as shown in the new test added here. The first tree could be the empty tree, for example, which should result in 'got cherrypick' adding all files from the second tree instead of complaining about a non-existent path-prefix directory in the first tree.
Stefan Sperling b66cd6f3 2020-07-31T10:33:34 display more context info in "no such entry found in tree" error messages
Tracey Emery ff21961d 2020-07-29T21:15:13 plug some parse.y leaks
Stefan Sperling b2118c49 2020-07-28T20:17:19 Add a 'got info' command which displays work tree meta-data. Remove the alias 'got in' for 'got init'. The 'in' alias was too close to either 'init' or 'info'. ok tracey, millert
Stefan Sperling cf07f22b 2020-07-25T16:28:50 improve "got log ." command mark-up in got.1 EXAMPLES
Stefan Sperling aa9ad276 2020-07-25T09:17:55 fix use of uninitialized variable in got_fileindex_entry_update()
Stefan Sperling af358f55 2020-07-23T16:49:58 tweak description of new -S option for 'got commit' and 'got stage' with input from + ok tracy and millert
Stefan Sperling 559d127c 2020-07-23T15:07:52 errant tab found by tracey
Stefan Sperling 41806587 2020-07-23T14:22:41 fix missing 'return 1' in commit.sh test failure cases
Stefan Sperling 283102fc 2020-07-23T14:22:41 remove the symlink conflict header feature; it causes noise for little benefit
Stefan Sperling f9eec9d5 2020-07-23T14:22:40 rename get_symlink_status() to get_symlink_modification_status() for clarity
Stefan Sperling f179e66d 2020-07-23T14:22:40 use a shortcut in get_file_status() for detecting symlinks appearing on disk
Stefan Sperling fda8017d 2020-07-23T14:22:40 move deeply indented code from unstage_path() to a new unstage_hunks() helper
Stefan Sperling 36bf999c 2020-07-23T14:22:40 make 'got unstage -p' work with symlinks
Stefan Sperling aa092692 2020-07-23T14:22:40 initialize output parameter of got_object_blob_read_to_str(); found by ofree
Stefan Sperling cf0e59fe 2020-07-23T14:22:40 fix wrong test result check in revert.sh symlink test
Stefan Sperling c2677d5d 2020-07-23T14:22:40 fix missing return statements in revert.sh symlink test failure cases
Stefan Sperling dfe9fba0 2020-07-23T14:22:40 remove merge_blob() fallback from merge_symlink(); let callers handle this
Stefan Sperling 75f0a0fb 2020-07-23T14:22:39 stop reinstalling symlinks after commit; 'got update' can handle that
Stefan Sperling 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling 3c1ec782 2020-07-23T14:22:38 put checks for bad symlink target paths into a dedicated function
Stefan Sperling ea7786be 2020-07-23T14:22:38 make 'got unstage' work with symlinks
Stefan Sperling b7422a2f 2020-07-23T14:22:38 stop using realpath(3) to resolve a symlink target in install_symlink() We should not resolve a symlink target path recursively when installing a symlink in the work tree. We want to handle this symlink's target, not the end result of following a chain of symlinks in case such links already exist.
Stefan Sperling 369fd7e5 2020-07-23T14:22:38 add support for symlinks to 'got revert -p'
Stefan Sperling fa3cef63 2020-07-23T14:22:37 make 'got stage -p' work with symlinks
Stefan Sperling b448fd00 2020-07-23T14:22:37 fix wrong function name in an error message
Stefan Sperling 0aeb8099 2020-07-23T14:22:37 set a staged file type and handle it separately from the on-disk file type
Stefan Sperling c631b115 2020-07-23T14:22:36 make staging of symlinks work
Stefan Sperling cf34e6e7 2020-07-23T14:22:36 mark functions which are not exposed to other files as static
Stefan Sperling 4723f050 2020-07-23T14:22:36 more fixes for setting/getting file index entry filetype and permissions
Stefan Sperling 6131ab45 2020-07-23T14:22:36 remove pointless error checking in got_fileindex_entry_filetype_set()
Stefan Sperling 984c073d 2020-07-23T14:22:36 add getter/setter for staged file index entry filetype
Stefan Sperling f5f1f9c2 2020-07-23T14:22:35 handle on-disk file index entry filetypes properly
Stefan Sperling 1e0a3718 2020-07-23T14:22:35 reserve some file entry mode bits for a staged file type
Stefan Sperling 4901ccfc 2020-07-23T14:22:35 add a test for 'got revert' with symlinks
Stefan Sperling 6e1eade5 2020-07-23T14:22:35 fix 'got revert' progress output for symlinks
Stefan Sperling 3b9f0f87 2020-07-23T14:22:35 handle additional symlink conflicts and report skipping of unversioned files
Stefan Sperling c90c8ce3 2020-07-23T14:22:35 preserve unversioned files when merging added symlinks
Stefan Sperling 65b05cec 2020-07-23T14:22:35 add an output argument to create_fileindex_entry() Avoids a pointless search of the file index in the case the caller needs to use the newly created file entry.
Stefan Sperling b88d214a 2020-07-23T14:22:34 use default file permissions when installing "bad" symlinks
Stefan Sperling ef8d6031 2020-07-23T14:22:34 keep file index entry permission bits clear for symlinks
Stefan Sperling fba9f79c 2020-07-23T14:22:34 restore unversioned file test case in test_cherrypick_symlink_conflicts One part of current behaviour is to delete an unversioned file and replace it with a symlink; that's very bad in case the user wants to keep the file.
Stefan Sperling 960094b4 2020-07-23T14:22:34 resolve an XXX remark in merge_file_cb()
Stefan Sperling d219f183 2020-07-23T14:22:34 test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this
Stefan Sperling 2e1fa222 2020-07-23T14:22:34 give bad symlinks a dedicated file type in the file index
Stefan Sperling 88fb31d4 2020-07-23T14:22:33 extend test_commit_symlink test case
Stefan Sperling e8863bdc 2020-07-23T14:22:33 add symlink support to 'got import'
Stefan Sperling 993e2a1b 2020-07-23T14:21:31 handle symlink deletion and symlink conflicts during 'got update'
Stefan Sperling 56d815a9 2020-07-23T14:21:31 We must null-terminate the result of readlink(3) in merge_symlink().
Stefan Sperling 11cc08c1 2020-07-23T14:21:31 handle symlink conflicts by installing a file that contains conflict markers
Stefan Sperling e26bafba 2020-07-23T14:21:31 add cherrypick test for symlink conflict cases This test accepts the current behaviour, even though the current behaviour isn't ideal in some cases.
Stefan Sperling 526a746f 2020-07-23T14:21:31 handle newly added symlinks during 'got cherrypick'
Stefan Sperling 5a1fbc73 2020-07-23T14:21:30 make it possible to fix "bad" symlinks with ln -sfh + got commit + got update
Stefan Sperling 75c30427 2020-07-23T14:21:30 remove debugging test code
Stefan Sperling bd6aa359 2020-07-23T14:21:30 convert bad symlinks to regular files during 'got commit'
Stefan Sperling 2f63b34c 2020-07-23T14:21:30 restore 8k buffer size for hashing file contents in got_object_blob_create()
Stefan Sperling 3d9a4ec4 2020-07-23T14:21:30 add symlink support to 'got commit'
Stefan Sperling af57b12a 2020-07-23T14:21:30 add symlink support to 'got cherrypick'; test non-conflict cases only for now
Stefan Sperling 40dde666 2020-07-23T14:21:29 add support for symlinks in the repository to 'got diff'
Stefan Sperling 4135d7d0 2020-07-23T14:21:29 fix symlink change in test_diff_symlinks_in_work_tree
Stefan Sperling 39449a05 2020-07-23T14:21:29 make 'got diff' show changes to symlinks in a work tree
Stefan Sperling 7d61d891 2020-07-23T14:21:29 fix checkout of symlinks when a relative work tree path is given
Stefan Sperling 906c123b 2020-07-23T14:21:29 do not allow symlinks pointing into the .got directory; noticed by semarie
Stefan Sperling b15bc87b 2020-07-23T14:21:29 fix memory leak in install_symlink() error path; spotted by semarie
Stefan Sperling ef68ca6f 2020-07-23T14:21:29 add missing dirname(3) error check; found by semarie
Stefan Sperling 23b820a2 2020-07-23T14:21:29 remove unnecessary lines from test_cat_symlink
Stefan Sperling 73259b37 2020-07-23T14:21:29 add a symlink test for 'got cat'
Stefan Sperling 32596e16 2020-07-23T14:21:28 fix got_tree_entry_get_symlink_target() in case of multiple loop iterations
Stefan Sperling f8f7c882 2020-07-23T14:21:28 fix buffer overflow in got_tree_entry_get_symlink_target()
Stefan Sperling eb59b6d4 2020-07-23T14:21:28 show path in error message when blaming a symlink pointing to a directory
Stefan Sperling 0587e10c 2020-07-23T14:21:28 add symlink support to 'got blame' and 'tog blame'
Stefan Sperling e40622f4 2020-07-23T14:21:28 add got_object_tree_entry_is_symlink() and got_object_resolve_symlinks()
Stefan Sperling 659dc16e 2020-07-23T14:21:28 skip the blob header in got_tree_entry_get_symlink_target()
Stefan Sperling 64773fde 2020-07-23T14:21:27 expand test cases in test_rm_symlink
Stefan Sperling d4ae64fa 2020-07-23T14:21:27 extend test_status_symlink to cover removal and modification of symlinks
Stefan Sperling a919d5c4 2020-07-23T14:21:27 make 'got rm' work on symlinks; test case written by tracey
Stefan Sperling 00bb5ea0 2020-07-23T14:21:27 make 'got add' work on symlinks and let 'got status' display them