commit b7fa2c6d172e5dc553d31db2e37915c56d23a603 from: Stefan Sperling date: Thu Sep 17 11:49:07 2020 UTC add contents of releases/ sub-directory commit - 425b614a51d636f3e731ee23a91fc790adfd8e05 commit + b7fa2c6d172e5dc553d31db2e37915c56d23a603 blob - /dev/null blob + ef2e6f72529ce28e0a35d889093022653012a354 (mode 644) --- /dev/null +++ releases/CHANGES @@ -0,0 +1,327 @@ +* 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 to pull in (naddy) +- use POSIX standard endian functions and include (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 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 ) +- 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 instead of (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 blob - /dev/null blob + 12e02373dae6d00b220fcf5352a8bdb82ad4db83 (mode 644) --- /dev/null +++ releases/LICENCE @@ -0,0 +1,13 @@ + Copyright (c) 2017, 2018, 2019, 2020 Stefan Sperling + + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. blob - /dev/null blob + e5c365ccade2e8fc8645273c0f4f6c5ab353316d (mode 644) Binary files /dev/null and releases/got-0.1.tar.gz differ blob - /dev/null blob + 41e94c33b6d8a1afa24e62b7283449b3edf2405d (mode 644) Binary files /dev/null and releases/got-0.10.tar.gz differ blob - /dev/null blob + 78c74b33e0cfc1045871a6e6b3ba4740686ea0aa (mode 644) Binary files /dev/null and releases/got-0.11.tar.gz differ blob - /dev/null blob + 35a15eb7101dce3f564b55cb242cc1a548ba324b (mode 644) Binary files /dev/null and releases/got-0.12.tar.gz differ blob - /dev/null blob + 075398023cf175d2771faa4a4b333adf34a6dcad (mode 644) Binary files /dev/null and releases/got-0.13.tar.gz differ blob - /dev/null blob + 20f4ea06baddfb99ba4a9eded017e4d5b166b765 (mode 644) Binary files /dev/null and releases/got-0.14.tar.gz differ blob - /dev/null blob + 493aecf372f455419870f78545dadc87767fd2a7 (mode 644) Binary files /dev/null and releases/got-0.15.tar.gz differ blob - /dev/null blob + b8b7acff61e06e728417bbbe6fcb165fcf4aa1ce (mode 644) Binary files /dev/null and releases/got-0.16.tar.gz differ blob - /dev/null blob + 4ded1c2d9847819c23be04c60497da2a552e32fa (mode 644) Binary files /dev/null and releases/got-0.17.tar.gz differ blob - /dev/null blob + ca0e0b44b72e04896b7444fd50d6c8844cfe0c7d (mode 644) Binary files /dev/null and releases/got-0.18.tar.gz differ blob - /dev/null blob + d071290169334544c13a252d553aec280b024e03 (mode 644) Binary files /dev/null and releases/got-0.19.tar.gz differ blob - /dev/null blob + b826c725c10bd259e141531273ff199cb4aeaf9d (mode 644) Binary files /dev/null and releases/got-0.2.tar.gz differ blob - /dev/null blob + 04e3c2f4de6e025702255d811f309e74fa72a622 (mode 644) Binary files /dev/null and releases/got-0.20.tar.gz differ blob - /dev/null blob + b87976459ef0bb656afb59079de4bff2a35df9f1 (mode 644) Binary files /dev/null and releases/got-0.21.tar.gz differ blob - /dev/null blob + 997547b3a1a7d6be0b7970b596b55dd1ebf02905 (mode 644) Binary files /dev/null and releases/got-0.22.tar.gz differ blob - /dev/null blob + 2d01aab08207af173e4c1cfeffe5375cb718fca8 (mode 644) Binary files /dev/null and releases/got-0.23.tar.gz differ blob - /dev/null blob + ab6f5e81623e011ea636ac784bc338692f1951a9 (mode 644) Binary files /dev/null and releases/got-0.24.tar.gz differ blob - /dev/null blob + 84856eecfb4dfcbe4b73b30cbde42ae2c82df7bd (mode 644) Binary files /dev/null and releases/got-0.25.tar.gz differ blob - /dev/null blob + 905931f141ab2dcbe14378a24bed4ca747b58688 (mode 644) Binary files /dev/null and releases/got-0.26.tar.gz differ blob - /dev/null blob + 87a733f663db404a9953c1797bf86f2af8f4207f (mode 644) Binary files /dev/null and releases/got-0.27.tar.gz differ blob - /dev/null blob + d06a8fcc897b174fe46d1951fa0ecb7f3726fb8a (mode 644) Binary files /dev/null and releases/got-0.28.tar.gz differ blob - /dev/null blob + 756c5aac688b76f90e7158f42c260a67cbbcf229 (mode 644) Binary files /dev/null and releases/got-0.29.tar.gz differ blob - /dev/null blob + bf1493f064411397cca3e8f6d5b14d3a61f92651 (mode 644) Binary files /dev/null and releases/got-0.3.tar.gz differ blob - /dev/null blob + 9416db4217e145dfd64e4ed11ae231ebf2f9d1d1 (mode 644) Binary files /dev/null and releases/got-0.30.tar.gz differ blob - /dev/null blob + 74e29aa1b690a90a70a04dfa6f1f37a2d89fd372 (mode 644) Binary files /dev/null and releases/got-0.31.tar.gz differ blob - /dev/null blob + 0fdffd0d5a5dd3bdc44231432a6199369b24bc7b (mode 644) Binary files /dev/null and releases/got-0.32.tar.gz differ blob - /dev/null blob + 76b845398d0811a2388550bd0a8a713693fa2baa (mode 644) Binary files /dev/null and releases/got-0.33.tar.gz differ blob - /dev/null blob + cb14a76413473d3be28bf109c6fabf61f8bc148f (mode 644) Binary files /dev/null and releases/got-0.34.tar.gz differ blob - /dev/null blob + 656f5df41742be8d9245940865594024f5cd8dbf (mode 644) Binary files /dev/null and releases/got-0.35.tar.gz differ blob - /dev/null blob + 51634df0216ce4f9aba3059c98c38538a998aa9e (mode 644) Binary files /dev/null and releases/got-0.36.tar.gz differ blob - /dev/null blob + c37b66961edc713538484053e7c8e0644c1b980d (mode 644) Binary files /dev/null and releases/got-0.37.tar.gz differ blob - /dev/null blob + 2452ab8db1d7c34ee56f2d4c6c09a97a5531adaf (mode 644) Binary files /dev/null and releases/got-0.38.tar.gz differ blob - /dev/null blob + af4e84b423c6a19ce28502adffeea209eac1bbcd (mode 644) Binary files /dev/null and releases/got-0.39.tar.gz differ blob - /dev/null blob + 282750f532c4c63bd04b6ddeafe581210f8f0040 (mode 644) Binary files /dev/null and releases/got-0.4.tar.gz differ blob - /dev/null blob + f16006699a41a647586c4c48efafe164cd2f4cfd (mode 644) Binary files /dev/null and releases/got-0.5.tar.gz differ blob - /dev/null blob + 66aeaf3b04e010bf443fd0e1b18139ef2befc05f (mode 644) Binary files /dev/null and releases/got-0.6.tar.gz differ blob - /dev/null blob + 7728b351736c1826a581c3acf9855b888298e1ce (mode 644) Binary files /dev/null and releases/got-0.7.tar.gz differ blob - /dev/null blob + 200e0830b37ff27b9d765dee126200b37ed19314 (mode 644) Binary files /dev/null and releases/got-0.8.tar.gz differ blob - /dev/null blob + 103f41f69f7062245986a6e2754b5faf204bad77 (mode 644) Binary files /dev/null and releases/got-0.9.tar.gz differ