Log

Author Commit Date CI Message
Stefan Sperling 9d9e459f 2021-10-03T21:27:59 CHANGES for 0.61
Stefan Sperling c52bf7fe 2021-10-03T21:26:12 sync dist file list
Stefan Sperling 62da3196 2021-10-01T13:58:31 skip ignored directories during 'got status' disk crawl
Stefan Sperling b93c7142 2021-10-01T06:22:27 add histedit -e option which runs the 'edit' script command for every commit ok jrick
Stefan Sperling 78caff98 2021-09-30T08:24:01 explicitly set the default branch name after 'git init' in regress tests We need to do this because newer versions of Git support an arbitrary default branch name which can be set by users. We don't want tests to fail when this option is used. pointed out by Thomas Adam
Christian Weisgerber 5d8cbca3 2021-09-29T19:53:08 pull in a type fix from the OpenBSD parse.y template Original commit message by deraadt: (unsigned) means (unsigned int) which on ptrdiff_t or size_t or other larger types really is a range reduction... Almost any cast to (unsigned) is a bug.
Christian Weisgerber d683c314 2021-09-29T19:43:01 fix unsigned/signed char mismatch in parse.y
Stefan Sperling fa161f0b 2021-09-28T21:48:11 update a CAVEAT in got.1 now that 'got merge' exists
Stefan Sperling cd33da48 2021-09-28T21:39:34 interrupt 'got histedit' upon missing/unversioned/not-deleted files
Stefan Sperling 1fa49072 2021-09-28T21:30:53 interrupt 'got rebase' upon missing/unversioned/not-deleted files
Stefan Sperling 606719cd 2021-09-28T21:29:30 document all reasons why 'got merge' might be interrupted
Stefan Sperling c1b05723 2021-09-28T20:56:05 make 'got merge' interrupt the merge upon undeleted and unversioned files
Stefan Sperling 35ca1db7 2021-09-28T20:56:04 print additional stats about things that went wrong during a merge
Stefan Sperling 965803d3 2021-09-28T20:55:16 fix 'got fetch' downloading too many objects in some cases Always announce all local references to the server when fetching changes. We used to do this only in mirror mode. In regular mode only refs/tags and refs/remotes/origin were announced, which could result in unnecessary downloads if relevant objects exist in refs/heads or elsewhere.
Christian Weisgerber 14af9299 2021-09-28T19:21:34 fix unsigned/signed char mismatch in parse.y ok stsp
Christian Weisgerber 9dd14b99 2021-09-28T19:21:34 got_sha1_digest_to_str() writes to char * ok stsp
Christian Weisgerber 31e61ec1 2021-09-28T19:21:33 match the unsigned char type used by the zlib interface ok stsp
Stefan Sperling 0ff8d236 2021-09-28T06:59:08 show commit progress output when 'got merge -c' is used Otherwise no progress output is shown at all with this command. Commit progress output will also display any additional changes which resulted from conflict resolution. ok millert@
Christian Weisgerber 321a74a5 2021-09-27T12:17:19 garbage-collect unused "dist" target from subdirectory Makefiles ok stsp
Stefan Sperling 088449d3 2021-09-26T17:51:38 implement 'got merge -n' which interrupts before creating a merge commit
Stefan Sperling 4e91ef15 2021-09-26T17:51:35 make it possible to merge vendor branches with 'got merge'
Stefan Sperling 5c02d2a5 2021-09-26T17:40:10 for portability, handle errno variations upon open(2) failure with O_NOFOLLOW Problem pointed out by naddy for FreeBSD -portable. Discussed with millert, thomas adam, and naddy.
Stefan Sperling 5267b9e4 2021-09-26T11:41:40 allow bad symlinks to survive a merge Commands which perform merges will now install bad symlinks as symlinks in the work tree, instead of creating them as regular files. This means bad symlinks committed with 'got commit -S' (or Git) will be preserved. The decision to introduce a bad symlink is done at commit-time and merges should not forcefully reverse this decision. The cherrypick and backout commands require a manual commit step, and a merge result with bad symlinks will require use of 'got commit -S'. Additional testing by thomas adam
Christian Weisgerber 963ac08a 2021-09-25T20:21:10 match printf specifiers and (cast) types for portability ok stsp
Stefan Sperling 474b4982 2021-09-25T10:26:25 whitespace fix from Omar Polo
Stefan Sperling 030daac8 2021-09-25T10:26:13 fix some integers that had a slightly wrong type; patch by Omar Polo
Stefan Sperling 50127d69 2021-09-25T10:24:15 add 'static' qualifier to local functions in got-read-pack; patch by Omar Polo
Stefan Sperling fda3525e 2021-09-25T10:23:12 mark some function parameters as 'const', as they should be; patch by Omar Polo
Stefan Sperling f6764181 2021-09-24T21:52:59 fix 'got update' of an added + obstructed file When 'got update' tried to add a new file to the work tree and this file was obstructed by, say, a directory on disk, the update failed: $ got update ? new got: new: Is a directory $ And the work tree was not updated. With this commit this situation is properly detected as an obstruction and the update succeeds: $ got update ~ new Updated to refs/heads/master: c1f85b4938dc4c668a88f13df2b98a520fc077cc File paths obstructed by a non-regular file: 1 $ Extend a corresponding test case to cover this issue. ok tracey
Stefan Sperling f365d762 2021-09-24T20:50:54 stop using the term 'obstructed' ambiguously in the got.1 man page Specifically, obstructed files are versioned files which should be on disk but have been replaced on disk by a non-regular file (e.g. by a directory). The man page used the phrase "deletion was obstructed" which is unrelated to the above concept and can be expressed as "deletion was prevented" instead.
Stefan Sperling 1acd48bc 2021-09-24T20:47:39 stop caring about obstructed versioned files in 'got merge' Tyring to write a test to cover this case I found that obstructed files are (correctly) detected as local modifications in the work tree. Thus they trigger the pre-condition check for local modications and 'got merge' will not even start to do any work in the presence of obstructed files.
Stefan Sperling 793fcac3 2021-09-24T20:14:09 plug memory leak in got_worktree_merge_in_progress(); spotted by tracey
Stefan Sperling a6a8f8bb 2021-09-24T20:05:26 add a test for 'got merge' which covers a no-op merge situation
Stefan Sperling f259c4c1 2021-09-24T19:55:02 add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey
Stefan Sperling 9f98ca05 2021-09-24T19:47:15 show parent commit IDs of merge commits in the tog diff view ok tracey
Stefan Sperling 0e5df984 2021-09-23T18:03:54 update TODO note about HTTP; libtls will more likely be used from dial.c
Stefan Sperling 3af9de88 2021-09-22T13:32:37 fix 'got send' with tree objects which contain symlinks; reported by Omar
Stefan Sperling ad324bf5 2021-09-21T20:27:45 fix histedit_no_op test which was failing randomly A no-op replayed history ends up having exactly the same commit IDs if all commits are created at roughly the same moment in time. There are no content changes involved so if commit timestamps do not differ then commit hashes will be the same. In which case there is no fork in history for 'got histedit -l' to display, yet the test was always expecting a fork in history to be displayed. Update the test to take this issue into account. The test will now pass no matter which result is produced by the histedit operation. Problem found by Lucas who observed that this test was randomly failing. Patch also provided by Lucas.
Stefan Sperling 34c3415f 2021-09-21T20:17:54 update README blurb about 'ssh 127.0.0.1' requirement for regress tests
Stefan Sperling 3da8ef85 2021-09-21T11:05:06 tog: use sched_yield(2) instead of pthread_yield(3) for portability pthread_yield(3) is an optional POSIX 2001 extension while sched_yield(2) is part of POSIX 2008. On OpenBSD they are actually equivalent, albeit not documented as such. Using sched_yield(2) helps the -portable version. Patch by Quentin Rameau
Stefan Sperling 6062e8ea 2021-09-21T10:59:29 tog: document why _XOPEN_SOURCE_EXTENDED is set and don't undefine it
Stefan Sperling ac372b60 2021-09-15T17:11:46 'got status' does not have a -q option; remove it from got.1 synopsis
Stefan Sperling df7dea6e 2021-09-15T17:08:37 add -S option to 'got status' synopsis in got.1 man page
Stefan Sperling 7dd7d39b 2021-09-15T09:59:27 bump version number
Stefan Sperling 4a87b370 2021-09-15T09:55:18 CHANGES for 0.60
Christian Weisgerber 67d7451c 2021-09-15T08:29:53 shell code fixes Escape sequences are not handled by every echo(1), e.g. not on FreeBSD. '?' is a glob character and must be quoted. '!' is not a shell meta character. ok tracey stsp
Stefan Sperling f0fd0aaf 2021-09-14T19:21:59 make 'got send' regression tests run 'git fsck' on all involved repositories
Stefan Sperling c2105d00 2021-09-14T19:02:10 fix another instance of 'got send' sending branches the server already has
Stefan Sperling 13364f2d 2021-09-14T17:39:21 bump version number
Stefan Sperling 47975383 2021-09-14T17:27:43 CHANGES for 0.59
Stefan Sperling e3a46353 2021-09-14T16:37:50 verify that 'got status -s' and 'got status -S' cannot be used together
Stefan Sperling 4f3c844b 2021-09-14T16:12:52 make 'got update' display the worktree's branch name upon success ok tracey
Tracey Emery 67c65ed7 2021-09-14T15:47:30 add tests for checkout -q, update -q, and status -S. ok stsp
Stefan Sperling 788d4a19 2021-09-14T14:18:59 validate status codes given to 'got status -S'
Stefan Sperling b043307b 2021-09-14T14:15:49 make got status -s and -S options conflict
Stefan Sperling 08e5873e 2021-09-14T14:05:27 make 'got checkout' display the checked out reference and commit ID ok tracey
Tracey Emery 00357e4d 2021-09-14T13:49:46 add suppress status-code selection to got status. this allows for a quick way to clean output without the use of ignore files. ok stsp
Stefan Sperling 26960ff7 2021-09-14T09:52:49 make 'got send' properly send commits which are referenced only by tags Problem reported by Omar Polo.
Tracey Emery 4ad4a1ec 2021-09-13T16:23:12 add -q quiet mode to checkout and update. supressing output keeps the terminal responsive on large repos. ok jrick stsp
Stefan Sperling 824d5f77 2021-09-12T16:33:13 fix copy-pasto: got.conf protocol option takes a 'scheme' argument, not a 'path'
Stefan Sperling d33b6dd1 2021-09-11T13:50:57 bump version number
Stefan Sperling fec556bc 2021-09-11T13:44:55 CHANGES for 0.58
Stefan Sperling 0968089c 2021-09-11T13:44:36 sync dist file list
Stefan Sperling 1b796c3f 2021-09-11T08:06:47 fix a null-pointer deref in 'got fetch -d'; reported by Omar Polo
Stefan Sperling 678d8c1f 2021-09-10T20:55:39 fix name of temporary directory used by test_fetch_delete_remote_refs
Stefan Sperling 9b21d88f 2021-09-06T13:27:08 remove obsolete sentence from got_dial_parse_uri() docs
Christian Weisgerber 8a8621c2 2021-09-06T12:53:51 add missing <sys/types.h> include
Stefan Sperling 13b2084e 2021-09-06T11:24:44 make 'gotadmin info' display separate send/fetch URLs if they differ
Stefan Sperling 76b9ee43 2021-09-06T10:55:54 mention where the 'proto' parameter of got_dial_apply_unveil() comes from
Stefan Sperling cbf435dd 2021-09-06T10:53:46 fix documentation of got_dial_apply_unveil()
Stefan Sperling a5a30f30 2021-09-06T10:52:02 document functions declared in the public got_dial.h header file
Stefan Sperling baf82978 2021-09-06T10:51:30 remove declaration of got_fetch_parse_uri()
Stefan Sperling 2e601464 2021-09-06T10:49:29 fix regress/fetch build; broken by my renaming of got_fetch_parse_uri()
Christian Weisgerber c10270f6 2021-09-06T08:45:22 assert against accidentally overflowing argv[] in got_dial_ssh() ok stsp
Stefan Sperling 5e5da8c4 2021-09-05T20:51:29 rename got_fetch_parse_uri() to got_dial_parse_uri() This function is now being used by both 'got fetch' and 'got send' so its former name was misleading.
Stefan Sperling 77d7d3bb 2021-09-05T20:39:50 de-duplicate a constant used by both 'got fetch' and 'got send' Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value. Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.
Stefan Sperling d65a88a2 2021-09-05T20:19:14 move duplicated dial_ssh() and dial_git() functions into a common file These functions are used by 'got send' and 'got fetch' in order to open network connections to a server. Move them into new file lib/dial.c and declare relevant functions in got_dial.h and lib/got_lib_dial.h. No functional change.
Christian Weisgerber abc59930 2021-09-05T19:41:03 indentation fixes
Stefan Sperling e33e440b 2021-09-05T14:34:59 whitespace fix
Stefan Sperling bd3d9e54 2021-09-05T14:21:02 move more code used by got-send-pack and got-fetch-pack to a common file Move functions and data structures which implement Git protocol features required for fetching and sending pack files to new files lib/gitproto.c and lib/got_lib_gitproto.h. This code was duplicated in got-fetch-pack and got-send-pack. No functional change.
Stefan Sperling f024663d 2021-09-05T13:50:39 move pkt code used by got-fetch-pack and got-send-pack to a common file The Git protocol uses a simple packet framing format. The got-fetch-pack and got-send-pack programs contained identical copies of functions to support this format. Move related functions to new file lib/pkt.c and link both programs against this common implementation. No functional change.
Christian Weisgerber f3bc9f1d 2021-09-05T13:10:13 tog: when jumping to the bottom of the log view, go from the tail backwards ok jasper
Christian Weisgerber 978a28a1 2021-09-04T16:22:38 make "got branch -d" print reference name and value Also silence output of "got branch -d" in a regression test, from stsp. ok stsp
Christian Weisgerber ea66598a 2021-09-03T21:41:22 tog: jump directly to first log item instead of traversing the list ok tracey
Christian Weisgerber e4526bf5 2021-09-03T21:40:14 tog: add support for navigating to first/last line of tree and ref views ok stsp
Stefan Sperling 376d7c62 2021-09-03T11:11:39 bump version number
Stefan Sperling 49213cad 2021-09-03T10:51:36 changes for 0.57
Stefan Sperling eca70f98 2021-09-03T09:51:31 fix 'got send' adding too many objects to the pack file in some cases Load server-side tags before loading local commits. Otherwise objects which are reachable via server-side tags will not be filtered out.
Stefan Sperling 0baddd91 2021-09-03T09:11:36 add test which covers a cherrypick merge from a branch to itself
Stefan Sperling ed99f061 2021-09-03T09:02:06 add a test case which covers 'got cherrypick' in a mixed-commit work tree
Stefan Sperling 69de9dd4 2021-09-03T09:02:06 limit checks for merge conflicts to files affected by the merge Performance problems reported by naddy
Christian Weisgerber 6435d2a6 2021-09-02T21:43:35 sys/param.h is not needed
Stefan Sperling 5546d466 2021-09-02T19:39:14 plug a memory leak in check_merge_ok()
Stefan Sperling a16d97bd 2021-09-02T19:19:49 remove ancestry sanity checks from 'got cherrypick' and 'got backout' While these checks might catch usage mistakes the performance overhead of scanning the entire history of the current branch is not worth it. Measurements provided by naddy, cherrypicking 5 commits of OpenBSD's src repository in usr.bin/rsync: Before: 5m50.33s real 4m02.36s user 2m04.41s system After: 1m04.92s real 0m28.24s user 0m36.54s system Further performance improvements could be needed but this is a first step.
Stefan Sperling 243a13f5 2021-09-02T19:13:50 fix bogus error when 'got cherrypick' merges changes into a locally added file reported by + ok naddy
Christian Weisgerber 4deef56f 2021-09-02T17:40:11 tog: add support for navigating to first/last line of blame view ok tracey stsp
Stefan Sperling 6c13b005 2021-09-02T13:57:34 Update comment regarding the merged_paths list used by rebase and histedit with insight I obtained while trying to make this idea work, and failing...
Stefan Sperling dae2a678 2021-09-01T20:31:46 backout 7280143edc2d689b1f57d5a46d376e48cdae64a2; not needed after all
Stefan Sperling 0e33f8e0 2021-09-01T14:34:33 disable ignore lists during status walks used by rebase and histedit Fixes rebase of gotwebd branch which added a new directory which is also matched by .gitignore rules on the branch.
Stefan Sperling 4c662b1d 2021-09-01T13:44:53 fix test data directory name used by test_histedit_fold_add_delete