1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569
* got 0.57; 2021-09-03
- remove superfluous strdup(3) from parse.y files (Martin Vahlensieck)
- adapt regress tests which handle UTC dates (naddy)
- make 'got send' actually heed branch {} options in got.conf(5) as intended
- disable ignore lists during status walks used by rebase and histedit
- tog: add support for navigating to first/last line of blame view (naddy)
- fix bogus error when 'got cherrypick' merged changes into locally added file
- remove ancestry checks to make 'got cherrypick' and 'got backout' run faster
- limit checks for merge conflicts to files affected by the merge to be faster
- fix 'got send' adding too many objects to the pack file in some cases
* got 0.56; 2021-08-30
- prevent a race where 'gotadmin cleanup' deletes concurrently created objects
- plug a small memory leak in tog's show_diff_view() function
- fix a use-after-free in get_changed_paths() in got and tog
- use less memory allocations when formatting log messages
- make got_deltify() rellocate the deltas array less often
- plug a memory leak in an error path of got_deltify()
- fix miscalculation of the final pack file size reported by got_pack_create()
- fix the error message shown when the server sends a bad ref line
- prevent NULL deref in got-fetch-pack if server does not announce capabilities
- add a missing bounds-check in got-fetch-pack when parsing server response
- fix, again, use of POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ] (naddy)
- add 'got send' for sending changes to remote repositories (with naddy, tracey)
- allow deletion of refs/remotes/ branches with got branch -d
- add missing "return 1" to failure handling in the regress scripts (naddy)
- make realloc_ids() malloc-like and do not overallocate (naddy)
- fix seek to incorrect offset in the delta base when creating deltas
- use gmtime_r(3) to display timestamps in UTC as intended (found by naddy)
- add keys for navigating to first/last item of tog log and diff views (jasper)
* got 0.55; 2021-07-26
- display recovery steps in the lonely pack index error message
- fix double-free that ocurred upon exit from 'tog tree'; found by naddy
- don't scan pack index offsets for large values if pack file is < 2GB
- new -X option for removing backups created by got rebase and got histedit
- add 'got fetch -X' option for deleting references created by 'got fetch'
- make 'got ref -d' print reference name and value like the new -X options do
* got 0.54; 2021-07-08
- fix imsg header includes in pack_create.c
- explicitly include endian.h for be32toh() in repository_admin.c (naddy)
- switch from SIMPLEQ to equivalent STAILQ macros (naddy)
- fix logic error in gotweb navigation for commits, briefs, and tags (tracey)
- fix bugs where files skipped by 'got update' could not be updated again
- fix out-of-bounds access in 'gotadmin pack'
- fix unintended redundant recallocarray() calls done by 'gotadmin pack'
- cache object type in memory to speed up packing of objects referenced by tags
- fix, again, use of POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ] (naddy)
- new 'gotadmin cleanup' command for removing unreferenced loose objects
- handle pack index files which lack a corresponding pack file
- make 'got add' always require the -I option in order to add ignored files
- write lines instead of just one character at a time in diff_output_lines()
- verify object ID checksums while loose objects are being accessed
* got 0.53; 2021-06-22
- do not update symlinks which are already up-to-date
- add a gotadmin utility with info, pack, indexpack, and listpack commands
- fix 3-way merge of files which lack a final \n
- make double-quotes appear in rendered got.1 man page as intended (Nam Nguyen)
- gotweb: render error page instead of returning error 500 (tracey)
- avoid an error in tog(1) while the terminal window is being resized
- plug a memory leak in got_ref_list_free()
- catch invalid reference names passed to 'got ref -l'
- fix a memory leak in dial_git() (naddy)
- fix unrelated changes being merged by got cherrypick/backout/rebase/histedit
- go back to Patience diff for merging during cherrypick/backout/histedit/rebase
- fix file descriptor leak in got_repo_close() (tracey)
- fix hang in commit regress test if $VISUAL is set in the environment (tracey)
- use socketpair(2) instead of pipe(2) for better portability to Linux
- make it possible to profile gotweb and document how profiling works
- fix memory and fd leaks in got_pack_stop_privsep_child() (tracey)
- fix bogus 'permission denied' error when a file at work tree root is removed
- port packfile creation code over from git9
- new -I option for 'got status' to show files which match an ignore pattern
* got 0.52; 2021-04-05
- fix error checking in dial_ssh()
- increase pack index cache size from 16 to 64 to improve performance
- fix off-by-one in got_repo_cache_pack() causing the wrong pack to be evicted
- cap pack file cache size at 1/8 of the current open file desciptor limit
- when reading a pack index byte-swap fields at compile-time where possible
- diff: reduce duplicate code (kn)
- fix "mandoc -T lint" WARNINGS and ERRORS, add missing word (kn)
- fix open file descriptor leak in error path of read_object_header_privsep()
* got 0.51; 2021-03-23
- deltify.c: explicitly include <endian.h> for be64toh()
- rebase/histedit -l: error out if no backups for the requested branch exist
- fix use of uninitialized stat buffer during status crawl (found by naddy)
* got 0.50; 2021-03-22
- use Myers diff instead of Patience diff when merging files with diff3
- port file deltification code from git9; a prerequisite for writing pack files
- implement raw object data access; another prerequisite for writing pack files
- improve got log -x documentation (jrick)
- improve got ref -d documentation
- fix strftime(3) short buffer checks (jrick)
- ensure that old commits remain referenced after rebase and histedit
- new got rebase -l option which lists past rebase operations
- new got histedit -l option which lists past histedit operations
* got 0.49; 2021-02-11
- implicitly mark all files in work tree as up-to-date after 'got integrate'
- tog: fix behaviour if 'n' is pressed before search is started (found by naddy)
- in 'got clone', allow -l together with -q, for consistency with 'got fetch'
- add 'got commit -F' option to commit with a log message stored in a file
- simplify error message shown when 'got rebase' has nothing to do
- tolerate tag objects which lack tagger timestamp information (found by naddy)
- got info: fix a pasto in an error message (naddy)
- include remote branches in the output of 'got branch -l' (suggested by helg)
* got 0.48; 2021-01-22
- use POSIX [s1 = s2] syntax instead of [s1 == s2] (patch by Ryo ONODERA)
- tog log: terminate author field at '>' in case there is no '@' (naddy)
- replace fparseln(3) with getline(3), for better portability (naddy)
- make 'got clone' pin the fetched branch in got.conf(5)
- allow the 'got fetch' -l option together with the -q option
- store branches passed via 'got clone -b' in got.conf(5) and git-config(1)
- work around spurious ACK responses from git servers in got-fetch-pack
- add a 'fetch-all-branches' configuration setting to got.conf(5)
- add a 'reference' directive to remote repositories in got.conf(5)
- fix 'got up -c commit path' deleting unrelated files (found by Timo Myyrä)
- fix 'tog blame' segfault upon empty input file (found by naddy)
- let 'got clone' write gitconfig directives that match the generated got.conf
- fix a use after free in got_worktree_close() (naddy)
- make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
- make close(2) failure checks consistent; check 'close() == -1' everywhere
- fix missing close(2) error check in got_worktree_close()
* got 0.47; 2020-12-27
- update got.1 CAVEATS section; prompted by feedback from otto@
- fix assignment to wrong pointer in got_ref_dup()
- fix performance on repositories with many references (e.g. freebsd src.git):
o implement an object ID map for reference lists
o use reflist object id maps in got log, tog log, and tog diff (with naddy)
o switch reflist to TAILQ; insert elements more efficiently for sorted input
* got 0.46; 2020-12-21
- reset tog blame view's scroll position if line count shrinks too much (naddy)
- replace unprintable characters with '.' before passing them to curses (naddy)
- allow editing of log message comments with 'got histedit'
- implicitly mark all files in work tree as up-to-date after rebase/histedit
- add fd field to got_repository, modify got_packidx_open to use fds (yzhong)
- more size_t for loop indices to avoid signedness warnings; by emaste@freebsd
- fix path existence check in got_object_tree_path_changed (reported by jrick)
- fix parsing of tag objects which lack a tag message; found in u-boot.git repo
- do not mix up repos if tog's -r option is used in a work tree (with naddy)
- avoid signed vs unsigned comparisons in fetch.c (with millert)
- introduce got_custom_error array to support multiple errors in flight
- switch to strerror_r(3) in error.c for thread-safety
* got 0.45; 2020-12-13
- new diff implementation from git.gameoftrees.org/diff.git (with neels)
- use Patience diff algorithm with fallback to Myers diff
- new blame algorithm which compares commit N-1 to N (with neels)
- handle binary files in got/tog diff commands; add -a options to force text
- consistently label removed files as "/dev/null" in diff headers
- prevent potential fclose(NULL) in error path of diff_blobs()
- use size_t for loop indices to avoid signedness warnings (by emaste@freebsd)
- in tests, replace echo with printf and stop option processing via "--" (naddy)
- fix test failure of test_tree_submodule_of_same_repo for packed repos (yzhong)
- add fd to got_worktree, modify got_fileindex_entry_update to use fds (yzhong)
- add histedit -f flag for folding shortcut (jrick)
- prevent log message loss of folded commits during histedit
- tog: plug two memory leaks in draw_file()
- tog: show current/total line numbers in diff view header
- tog: highlight matched search terms in diff and blame views
- tog: call pthread_cond_destroy(cond) just once when closing log view (naddy)
- tog: reset diff view's scroll position if diff context shrinks too much
- tog: make tog diff accept reference and tag arguments; add -w and -C options
- tog: new 'tog ref' subcommand which displays references in the repository
- tog: fix entry selection when moving to the parent in tree view (naddy)
- tog: fix page-down/page-up scrolling in the tree view (with naddy)
- tog: trim redundant parameters from many functions, and tidy up code (naddy)
- tog: log view now requests more commits when the window expands (naddy)
- tog: call pledge(2) directly in main() instead of per-command
- tog: fix bug on FreeBSD where pressing 'q' in a child view caused tog to exit
- tog: fix move to next/prev commit in diff view if log is not displayed (naddy)
- tog: make ^L in the log view stick to branches/tags selected via -c option
- tog: make tree view keep track of branches/tags specified via -c
- tog: fix crashes when the log view reloads displayed data
- tog: resize events go to child views as well as parent views (found by naddy)
- tog: move the tree view's selection cursor up if terminal shrinks too much
- tog: fix display of lines that end in "\r\n" (problem found by jrick)
- tog: accommodate newer ncurses where panel_userptr() returns const (naddy)
- tog: use getline(3) instead of fparseln(3) for better portability
* got 0.44; 2020-11-10
- detect unknown repository format extensions such as Git's sha256 extension
- prevent a NULL dereference if 'got log -p' runs against a root commit
- fix permissions mode bits for fetched pack files; patch by Alisdair MacLeod
- use fchmod(2) instead of chmod(2) (semarie, naddy)
- initialize sb.st_mode after stat(2) failure in got_worktree_resolve_path()
- clear staged file type in file index entries whenever staged status is cleared
- unlink temporary files in error cases of install_blob()
- fix replacing a file with a symlink during merges; problem found by jrick
- fix parsing of 'ON' keyword in gotweb parse.y; patch by Martin Vahlensieck
- remove unused variable in gotweb.c; patch by Martin Vahlensieck
* got 0.43; 2020-10-21
- do not treat the -h and -V flags as errors (naddy)
- allow regress test data to be stored in locations other than /tmp
- unveil repositories read-write when adding tags with 'got tag'
- rewrite test argument parsing with the POSIX getopts shell built-in (naddy)
- in tests, accommodate ls -l implementations that print "total 0" (naddy)
- fix a bug where 'got status' showed an unchanged empty file as changed
- handle non-const basename(3) and dirname(3) for POSIX compatibility
- properly handle nonexistent remote repository names given to 'got fetch'
* got 0.42; 2020-09-30
- add "branch" keyword to got.conf which specifies a list of branches to fetch
- rework got's commit-time log message modification check
- fix potential type mismatches between format specifiers and arguments (naddy)
- prefer the BSD extension to reset getopt over the GNU one (naddy)
- fix 'bad path' error from 'got clone' by unveiling the repository path again
* got 0.41; 2020-09-25
- make 'got ref -d' delete both loose and packed representations of the ref
- make dangling symbolic references show up in 'got ref -l'
- fix handling of slashes in got.conf repository paths (found by naddy)
- hide remote HEAD refs in gotweb in order to match got and tog output
- make 'got histedit' collapse folded add+delete operations (found by jrick)
- fix matching the first object ID listed in a pack index (found by jrick)
- let 'got clone' try to connect to server before creating repository contents
- fix default branch name written to Git config file by 'got clone'
- allow an interrupted 'got clone' to be resumed by 'got fetch'
- handle failed connection attempts to git:// servers (patch by jrick)
- make gotweb work in subdirectories of the web space (found by uwerler)
* got 0.40; 2020-09-21
- do not rely on <zlib.h> to pull in <unistd.h> (naddy)
- remove unused #includes from the new got-read-gotconfig/parse.y (naddy)
- document our default choice of text editor (suggested by Ricky Cintron)
- in tests, replace ksh syntax with POSIX arithmetic expressions (naddy)
- fix got.conf overriding GOT_AUTHOR even if no author is set in got.conf
- in tests, expand arguments in shell script for POSIX compatibility (naddy)
- fix crash in got_free_gotconfig()
- in cmd_checkout() handle basename(3) modifying its argument for portability
- print newline to clear the bottom line when tog exits (naddy)
- install got-read-gotconfig into gotweb's chroot environment
* got 0.39; 2020-09-14
- add -q option to tests for quiet output and use it for 'make regress'
- document how to re-create a corrupt or missing file index in got-worktree(5)
- fix some memory leaks in tog (tracey)
- add workaround for a performance issue when 'tog diff' shows a large diff
- add -s option to 'got status' which acts as a status code filter
- add -s option to 'got remove' which deletes files in a particular status
- plug a memory leak in got_privsep_recv_tree() in error case
- in got_object_commit_get_logmsg(), handle log messages which lack '\n'
- do not rely on <zlib.h> to pull in <unistd.h> (naddy)
- use POSIX standard endian functions and include <endian.h> (naddy)
- add got.conf(5) configuration file
- use modern POSIX timestamp fields in struct stat (naddy)
- use plain write() in place of dprintf() with a pre-formatted string (naddy)
- stop including <sys/syslimits.h> directly (naddy)
- switch regress function declarations from ksh to POSIX shell syntax (naddy)
* got 0.38; 2020-08-02
- add support for managing symbolic links under version control
- new -S option for 'got commit' and 'got stage' to skip symlink safety checks
- add a 'got info' command which displays work tree meta-data
- display more context in "no such entry found in tree" error messages
- fix spurious 'got cherrypick' error with a path prefix and an empty tree
- fix committing file additions from a work tree with a path prefix
- fix build error with clang 10 due to missing for-loop block grouping (naddy@)
- make 'got log' -R and -P options work in combination
* got 0.37; 2020-07-23
- cope with directory entries returned from readdir(3) with type DT_UNKNOWN
- fix merging with files that do not contain a newline character
- heed .{cvs,git}ignore if a path is given on the 'got status' command line
- plug memory leak that occurred when files were deleted during checkout/update
- add new parse.y code for future use and restructure gotweb's parse.y
- fix an error return in gotweb (by Martin Vahlensieck)
- document how to use commit messages prepared in a file (by Scott Bennett)
- make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target
- allow creation of commits which carry unmodified submodule tree entries along
- some error, usage, and progress message improvements
* got 0.36; 2020-05-05
- fix "no such entry found in tree" error with got log -p and an added path
- show a list of paths changed in a commit with 'got log -P' and in tog
- prevent false positive tree entry differences due to bogus file mode bits
- write directory tree entry mode bits in the same way as Git does (0040000)
* got 0.35; 2020-04-25
- don't pass "-p 22" to ssh; makes ssh_config's Port option work (semarie)
- fix a file index corruption problem with 'got rebase' (found by tracey)
- fix 'got log -r' loading refs from the wrong repo if invoked in a work tree
- filter out "remotes/*/HEAD" references in got/tog log output
* got 0.34; 2020-04-19
- make use of new convenience API functions of kcgi 0.12 in gotweb
- make 'got update' skip conflicted files (prevents loss of local changes)
- show a summary of conflicts and related problems after updating/merging files
- add 'got log' -x option to stop logging when a specific commit was traversed
- add 'got log' -R option to reverse commit display order
- clarify wording in got.1 related to local changes/commits/branches
- show bad object ID in "object not found" error messages where possible
* got 0.33; 2020-04-14
- normalize tree entry modes to 0100644 or 0100755 when writing tree objects
- fix "searching..." displayed in tog log view while merely scrolling down
- in got.1, clarify how 'got update' deals with local (aka uncommitted) changes
* got 0.32; 2020-03-28
- be nice to unaware users who attempt to use got commands in a Git work tree
- show 'searching...' during 'tog log' search even if no new commits are loaded
- display "no matches found" if no commit matches a 'tog log' search
- display "no more matches" if 'tog log' search cannot find any more matches
- make 'tog log' consistently scroll a page upon page-down key (found by naddy)
- make 'got fetch' create or restore remote HEAD reference if it is missing
- make 'got fetch -d' delete branches from both refs/heads and refs/remotes
* got 0.31; 2020-03-25
- take status line into account during page up/down in 'tog log' (naddy)
- make 'got tree' use the current branch if invoked in a work tree (tracey)
- compute pack file's checksum during download and check it in got-fetch-pack
- make got-index-pack compute and verify the pack file's checksum as well
- stop verifying pack file checksum in the main process during clone/fetch
- fix bogus 'reference HEAD not found' error (reported by Matthias aka _xhr_)
- make 'got clone' create refs/remotes/origin/HEAD, as 'git clone' does
- make 'got fetch' handle updates to refs/remotes/*/HEAD
* got 0.30; 2020-03-22
- add support for git and git+ssh network protocols (patch by ori@)
- add 'got clone' and 'got fetch' commands
- don't error out if rebase sees no merged paths; elide the commit instead
- prevent 'got commit' from committing empty sub-directories (found by tracey)
- allow limiting the output of 'got ref -l' to a single ref or a namespace
- add -c option to 'got ref' which now expects just one argument after options
- plug a memory leak in got-read-pack
- remove 'Next' link from tags on gotweb summary page if no tags exist (tracey)
* got 0.29; 2020-03-06
- trim directories in got remove -R (tracey)
- prevent commits from being listed more than once in a histedit script
- fix histedit 'rebase commit ID mismatch' error when splitting a commit
- be helpful when users try to check out work trees without a known branch
- map 'tog path' to 'tog log path' if possible (requested by mpi)
- when "bad path" errors occur always show the path in question
- show merged commit ID upon merge conflict during rebase and histedit
* got 0.28; 2020-02-25
- improve man page documentation of rebase and histedit
- disallow 'got rebase' while a histedit operation is in progress
- switch 'got tag' commit argument to a new -c option
- let 'got branch' switch and update the work tree
- improve documentation of -r flags in tog man page (naddy)
- add 'got histedit -m' option which makes it easy to edit log messages
- switch 'tog diff' repository path argument to a new -r option (naddy)
- fix 'tog diff object1 object2' when run inside a work tree (naddy)
- document semantics of got log and tog log path arguments
- add ^B/^F key bindings (page up/down) to 'tog blame' and 'tog tree' (naddy)
- disable compiler warnings in release builds to avoid -Werror build breakage
* got 0.27; 2020-02-21
- fix gotweb build with -O2 on sparc64 (tracey; reported by kmos)
- add next/prev navigation to gotweb commit briefs and commits pages (tracey)
- add new gotweb tags page and ability to navigate all tags (tracey)
- ensure gotweb's libexec helpers inherit build flags from parent directories
- allow 'got ref' to manipulate refs which do not have a slash in their name
- add an optional path argument to 'tog tree'
- fix misplaced tog search prompt in split-screen views
* got 0.26; 2020-02-17
- initial release of gotweb(8), a repository server for web browsers (tracey)
- fix a segfault in 'got backout' (tracey, reported by semarie)
- switch 'tog tree' repository path argument to a new -r option
- fix 'got blame' and 'tog blame' on files added on worktree's current branch
- enable searching in tog diff view with the '/' key (tracey)
- ignore EROFS during checkout for repositories on read-only filesystems
- do not open log message editor if there are no changes during 'histedit -c'
- display branch name and first commit to be edited at top of histedit script
- fix bug where 'got revert -R' failed on added subtrees
- fix bug where 'got log PATH' failed to map PATH into the repository
- make 'tog log' show linear history by default; add -b option and B key
- make 'got log' show linear history by default; remove -f and add -b option
- do not display unversioned files during 'got revert -R'
- tweak default colors for directories and symlinks in 'tog tree'
- sleep for one nanosecond after syncing the file index to disk
- fix 'tog log -c' with tags
* got 0.25; 2020-01-14
- fix suspending and resuming tog with Ctrl-Z and fg (reported by naddy@)
- fix 'tog tree' usage displayed in error case (patch by naddy@)
- support Git-style "lightweight" tags as arguments for 'got diff'
- handle Git-style "lightweight" tags in got tag -l
- make got and tog accept a --version argument (prompted by tedu@)
- add -E option to 'got checkout' allowing use of a non-empty work tree path
- make 'tog log PATH' fail when a non-existent path is specified
- fix out of bounds access (patch by Martin <openbsd () academicsolutions ! ch>)
- fix switching to tog's tree view when logging a path (reported by naddy@)
* got 0.24; 2020-01-08
- do not open and close pack index files needlessly
- fix 'got log' and 'tog log' performance issue when lots of tags exist
- do history traversal in got-read-pack to improve 'got blame' performance
- plug memory leaks in got-read-commit, got-read-tree, and got-read-pack
- fix reading reference deltas with GOT_PACK_NO_MMAP builds
- disable got-read-pack's delta cache in GOT_NO_OBJ_CACHE builds
- make it possible to run regress tests with packed repositories
- more portable string comparison in Makefile.inc (patch by Edgar Pettijohn)
- prevent rebase with an out-of-date work tree
- make 'got checkout' and 'got update' work with read-only repositories
* got 0.23; 2019-12-16
- prevent status crawl from racing with paths changing in the filesystem
- add -k option to 'got remove' to keep files on disk (Tracey Emery)
- add -R option to 'got remove' for recursive deletion (Tracey Emery)
- add -I option to 'got add' to disregard ignore patterns (Tracey Emery)
- show numeric dates in ISO-8601/xkcd-1179 format in 'tog log' and 'got blame'
* got 0.22; 2019-12-01
- allow empty diff context context (-C0) in 'got diff' (kn@)
- add '-s search-pattern' option to 'got log' (kn@)
- forward rebased branch if there are no commits to rebase, instead of error
- parse remote repository URLs from gitconfig
- actually forbid new reference names with a leading '-', as intended
- convert tree entries from SIMPLEQ to an array for better performance
- compile static binaries in PROFILE build
* got 0.21; 2019-11-25
- add -R option to 'got add' for recursive addition (patch by Tracey Emery)
- reduce the amount of memcpy() and strdup() while parsing tree entries
- fix tog display issue caused by Tab in commit messages; reported by mpi@
- cache delta data buffers in an LRU cache to improve performance
- add -c option to 'got branch', replacing the optional second argument
* got 0.20; 2019-11-09
- fix reading pack files larger than 2GB
- try not to hide errors from helper programs when got exits
- use less empty padding space after author name in 'tog log'
- rename 'got init' and 'got import' default branch to "main" (patch by kmos@)
* got 0.19; 2019-11-08
- add optional colorized display mode to tog
- make 'tog log' show abbreviated commit IDs if the window is large enough
- fix staging of multiple files with -p
- show commit date's century in 'got blame' output (patch by Tracey Emery)
* got 0.18; 2019-10-21
- always show the input path when realpath(3) returns an error
- preserve log message when an error occurs during commit, tag, or import
- ignore empty files in refs directory instead of throwing errors
- show file mode differences (executable bit) when diffing in-repository trees
- fix handling of executable-bit changes during update, commit, and status
- improve tog's responsiveness after loading hundreds of thousands of commits
- fix tog performance bug which made searching through commits very slow
- add 'got integrate' command for merging a branch back to its parent branch
- show content from the merge-base file in 3-way merge conflicts, if available
- improved indication of 3-way merge inputs in conflict marker labels
- handle read errors in got_packidx_init_hdr (found by jj@ with scan-build)
- remove worklist code; it was only used to unlink files already unlinked
- show bad reference names in error messages to make such errors more clear
- add -w (ignore whitespace) option to 'got diff'
- improved coding style and error handling in diff3 code
* got 0.17; 2019-10-06
- make 'got branch' without args show work tree's branch (requested by benno)
- show temporary branch in 'got branch -l' during rebase and histedit
- refresh references when 'tog log' view is refreshed with Ctrl+L
- make 'got status' read .gitignore files; support **/ and /**/ in patterns
- handle empty trees during 'import' and 'checkout' (issue reported by sthen)
- show only whitelisted commit headers in 'got log' (semarie)
- properly handle getline(3) return type as ssize_t (hiltjo)
* got 0.16; 2019-09-23
- replace fgetln(3) with getline(3) for portability (patch by Steven McDonald)
- fix implicit time.h includes (patch by Steven McDonald)
- fix tiny memory leaks and other minor bugs found by jj@ with scan-build
- fix missing error checks (found by jj@ with scan-build and by Steven McDonald)
- avoid a couple of potential NULL derefs (found by jj@ with scan-build)
- fix cosmetic display issues involving \n and TABs in tog(1)
* got 0.15; 2019-09-08
- use author name/email from ~/.gitconfig if GOT_AUTHOR is not set
- obtain repo format version and commit author name/email from .git/config
- fix line-wrap for lines spanning the terminal in tog diff view
- make 'got status' ignore inaccessible directories (reported by semarie)
- unstage may need to write to repository; fix unveil(2) call accordingly
- fix modified files not shown by 'got status' after committing staged changes
* got 0.14; 2019-09-03
- fix tag_list test failure on single-day-digit dates (patch by Evan Silberman)
- prevent theoretical double-free with non-OpenBSD asprintf (found by jasper@)
- fix NULL deref in got_error_from_errno via got_error_uuid (found by jasper@)
- make tog release its work tree lock before going into main loop
- 'got stage' writes to repository, fix unveil(2) call accordingly
* got 0.13; 2019-08-30
- fix several possible leaks, use after frees, and NULL derefs (hiltjo)
- tog: mbs2ws: fix sizeof of element for memory allocation (hiltjo)
- fix deletion of branches stored in packed-refs
- fix 'got log path' in a work tree with a path prefix (with Evan Silberman)
* got 0.12; 2019-08-26
- add support for path arguments to 'got cat'
- make 'got log -p path' display patches for the specified path only
- allow creating branches based on commit IDs
- prevent deletion of the work tree's current branch
- detect and ignore Git submodules
- indicate non-existent path arguments in 'got status'
- make 'got diff' error for non-existent path arguments
- make 'got tag -l' list tags by time stamp in descending order
- fix reading pack index files with large offsets (patch by Hiltjo Posthuma)
* got 0.11; 2019-08-23
- add 'got tag' command
- add 'got cat' command
- support quick cancellation in 'tog blame' view
- fix search prompt location in split-screen tog views
* got 0.10; 2019-08-21
- fix and simplify blame algorithm
* got 0.9; 2019-08-19
- fix blame bug where lines were annotated with wrong commit
- man page spelling fixes (patch by Hiltjo Posthuma)
- fix uninitialized 'editor' variable (found by Hiltjo Posthuma)
- make 'got revert' ignore unversioned files instead of aborting (semarie@)
- fix "last commit cannot be folded" histedit check with reordered commits
* got 0.8; 2019-08-16
- write tree entries the way git likes it to prevent git index corruption
- make 'got blame' show line numbers, dates, and author names
- add GOT_LOG_DEFAULT_LIMIT env var for setting a got log -l default
* got 0.7; 2019-08-13
- properly parse timestamps in commit objects as UTC (patch by Hiltjo Posthuma)
- strip Git GPG signatures from log messages
- fix regression: don't try to parse "lightweight" tags as real tag objects
* got 0.6; 2019-08-13
- 'got log' and 'tog log' now display tags in addition to branch references
- 'got ref' can now be used to create symbolic references
- use <limits.h> instead of <sys/limits.h> (patch by Thomas Klausner)
- fix crash if 'got rebase' has no commits to rebase (with semarie@)
- annotate symlinks with @ in 'got tree' and 'tog tree'
* got 0.5; 2019-08-12
- fix blame with single-commit history and with files without \n
- fix crashes in tog when blame returns no results on a file (found by otto@)
- man page improvements (bentley@)
* got 0.4; 2019-08-11
- add support for tag objects to 'got diff'
- fix tog log -r option (patch by semarie@)
- fix use of potentially out-of-date errno values (patch by Hiltjo Posthuma)
- fix getline(3) return value check (patch by Hiltjo Posthuma)
- use Oo/Oc/Op instead of plain brackets in man pages (patch by bentley@)
- fix spurious failures of test_revert_patch_one_change due to race condition
* got 0.3; 2019-08-10
- fix bug where 'revert -p' would delete all lines following a reverted change
- fix merge bug inherited from OpenRCS, affecting lines with leading .
- fix man page installation during manual 'make install' from plain tarball
* got 0.2; 2019-08-09
- improve error message if helper binaries fail to unveil(2)
- add support for tags to -c options of some got commands
- attempt to reject GOT_AUTHOR values without an email address because git
is unable to parse resulting commit objects
- fix build on OpenBSD/sparc64 (gcc)
* got 0.1; 2019-08-09
initial release; see git repository history for changes up to this point