Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 0.106
    e9ace9bb · CHANGES for 0.106 ·
    got 0.106
    
    - prevent gotd fromexiting with pending notifications if client disconnects
    - convert got to the new imsg API
    - gotwebd: improve performance of repository age calculations
    - gotwebd: ensure child processes inherit non-default config
  • 0.105
    b7368299 · CHANGES for 0.105 ·
    got 0.105
    
    - fix bogus "branch on server has different ancestry" errors from 'got send'
    - do not try to merge binary files during (un)stage -p and revert -p
    - fix gotd notifications about changes involving empty files
    - minor gotwebd.css styling changes
    - plug several memory and file-descriptor leaks
  • 0.104
    32b9351d · CHANGES for 0.104 ·
    got 0.104
    
    - gotd.conf: document the macro syntax
    - tog: prevent a segfault upon unexpected object type in ref list view
    - fix pack file creation in the presenc of tagged tag objects
    - plugged some memory leaks
    - fix a crash when unstaging a file which has been removed from disk
    - gotwebd: fix out of bounds access while handling the configuration
  • 0.103
    61723c50 · CHANGES for 0.103 ·
    got 0.103
    
    - fix bug causing performance to degrade as more and more pack files appear
    - tog: add diff view 'p' keymap to write the diff to file
    - tog: display diffstat in diff view when diffing blobs or trees directly
    - gotwebd: show commit id prefix on briefs page
    - add support for HMAC digests to gotd HTTP notifications
    - move authentication credentials from gotd.conf(5) to gotd-secrets.conf(5)
    - fix spurious tog regression test failures on slower machines
    - restore abort() calls in lib/hash.c to quiet potential compiler warnings
    - gotwebd: unbreak listing of tags on the summary page (regression from 0.102)
    - gotwebd: minor tweaks to the HTML for ease of styling
  • 0.102
    350a8437 · CHANGES for 0.102 ·
    got 0.102
    
    - support for sha256 repositories; the network protocol requires git(1) for now
    - gotwebd: add support for the "owner" file
    - gotwebd: fix the README link in the summary view
    - fix handling of .gitignore files containing empty lines
    - fix handling of files without trailing newline in histedit, rebase and merge
    - gotd: allow numeric UIDs in permit/deny rules, as intended
    - gotd: support numeric UIDs in the `user' directive
    - fix comment handling and explain quoting in the *.conf.5 man pages
    - tog: add ability to mark arbitrary commits to diff them
    - print file index and work tree version in got info
  • 0.101
    334f014f · CHANGES for 0.101 ·
    got 0.101
    
    - improve gotwebd.8 one-line description
    - adjust some SIZE_MAX bounds checks
    - fix histedit -e bug where reverting all the changes caused histedit -c cycles
    - show a more useful error when a reference name collides with another
    - improve error message shown by 'got send' when ancestry has diverged
    - fix wrong gotwebd default repository path in the manpage
    - tog: fix jumping to the next commit from the diff view with the J key
    - tog: fix horizontal scroll bug that draws a trailing '.'
    - gotwebd: plug file descriptor leak in error path
    - fix bug that prevented gotwebd from working without a config file
  • 0.100
    ddb4fae8 · CHANGES for 0.100 ·
    got 0.100
    
    - abort if we see a sha2 hash to quiet a potential compiler warning
    - switch to using readdir because readdir_r is deprecated
    - show hint about update -b if the user attempts to rebase a branch onto itself
    - in got.1 EXAMPLES, mention how files can be moved or renamed
    - fix running gotd regress in release tarball sources
    - in gotd.8 add an example which illustrates how to create repositories for gotd
    - don't leak the existence of gotd repositories to unrelated user accounts
    - fix empty notification messages with multiple gotd notification targets
    - display abbreviated commit/tag IDs in email notification subject lines
    - fix Date header generated by got-notify-email
    - regress: make server tests more robust against race hazard
    - regress: replace userinfo(8) with the more common getent(1)
    - fix wrong errno check in bufio_close_sync(), i.e. got-fetch-http
    - bufio: crank BIO_CHUNK up to 64k for improved http fetch performance
    - gotwebd.conf: remove `listen on socket off' and `unix_socket off' options
    - gotwebd.conf: make `listen' a top-level statement
    - gotwebd.conf: remove unix_socket_name option
    - gotwebd.conf: allow changing the user ID which gotwebd runs as
    - gotd/gotwebd: unify log.c
    - gotwebd: use less temporary files in /tmp
    - gotd/gotwebd: hide log_info() behind -v and log_debug behind -vv options
    - fix confusing error message from 'got commit' upon uncommitable paths
    - gotwebd: use the last matching fastcgi parameter if multiple parameters match
    - gotwebd: remove previd and prevset query string parameter, they were unused
    - plug 'got diff obj1 obj2' line metadata memory leak
    - fix interop with servers that do not use Git protocol sidebands, such as git9
    - reintroduce the 'got init' command as an alternative to 'gotadmin init'
  • 0.99
    903ff357 · CHANGES for 0.99 ·
    got 0.99
    
    - make 'got fetch' work with URLs which refer to $HOME via a tilde: ~user
    - replace strftime %G-%m-%d with %F to prevent 2024-12-30 -> 2025-12-30
    - fix spurious errors from got-fetch-http when server has no more data to send
    - prevent gotd notification process from exiting due to EPIPE
    - fix I/O hangs with TLS in got-notify-http
    - document http and https protocol support in got.conf(5), too
    - fix an fd leak in gotd's notify process causing endless CPU spin
    - back out got stage -R option addition; deemed too inconvenient in practice
    - fix got-fetch-http GET request URL; add leading slash and avoid double slashes
    - allow custom GOT_TEST_HTTP_PORT when running regression tests
    - gotwebd: add magic ".git" handling; try foo.git if repository foo is not found
    - expose authenticated gotd user account in HTTP notifications
    - gotd.conf(5) HTTP/JSON documentation fixes
    - fix endless loop upon Ctrl-D (EOF) input during got stage/unstage/revert -p
    - make gotd notifications work when 'git push' is used instead of 'got send'
    - make got stage -p behave the same way in interactive and -F modes for 'q'
    - fix lingering gotd processes from clients closing connections early
    - regress: prevent spurious failure of gotd test_clone_basic_access_denied
    - fix an issue where 'git fetch' would error or hang against gotd
    - use polling read in got_pkt_readn() to avoid endless hangs in gotsh
  • 0.98
    6dd1428a · CHANGES for 0.98 ·
    got 0.98
    
    - speed up got tag -l by caching timestamps in got_ref_cmp_tags() 
    - provide a macro for vi(1) path for use by -portable at compile time
    - avoid a rename/stat race when gotd installs a new pack and then uses it
    - make 'got ref -l' output consistent when packed references exist
    - make 'got ref -l' work consistently when a reference argument is given
    - add initial support for notifications to gotd(8), via email and http/json
    - display process title in syslog when a gotd child process exits
    - hide a pointless end-of-file error on imsg pipe in libexec helpers
    - plug a memory leak in 'got blame'
    - add support for topological sorting to the commit graph
    - add log -t option which enables topological sorting of commits
    - make 'got rebase' find a merge base with topological sorting if needed
    - call unveil(2) earlier during import, commit, histedit, and tag commands
    - make 'got status' display interrupted rebase, histedit, and merge operations
    - got.1: escape Eq since it's a GNU roff macro, to fix rendering in -portable
    - regress: use seq instead of jot, for portability reasons
    - get rid of unnecessary "dns inet" pledge promises while fetching via git://
    - add http clone/fetch support using a new got-fetch-http helper
    - drop git+ssh protocol name from documentation; Git has done the same
    - require -R option for staging or unstaging directory contents
    - got patch: fix applying on empty files
  • 0.97
    66e67abe · CHANGES for 0.97 ·
    got 0.97
    
    - improve error messages shown upon execv failure 
    - fix 'gotadmin pack' crash upon Ctrl-C due to invalid imsg_free()
    - significantly speed up deltification of large files
    - improve error handling in got_privsep_recv_imsg()
  • 0.96
    7cec82d8 · CHANGES for 0.96 ·
    got 0.96
    
    - gotwebd: add foldable commit briefs
    - gotwebd: fix (again) the styling for the next/prev buttons
    - gotwebd: add knob for the number of tags and commits in the summary page
    - gotwebd: remove PAGE handling
    - gotwebd: retire max_repos setting
    - gotwebd: guard against missig folder and file parameter in BLOB and BLAME
    - gotwebd: improve copy-paste from BLOB pages
    - gotwebd: fix colour of target lines in dark mode CSS
    - gotwebd.conf.5: show defaults, improve EXAMPLES
    - gotwebd.8: improve EXAMPLES sections
    - fix logging during gotwebd shutdown
    - plug several memory leaks in tog
    - plug object id queue leak when iterating pack index files
    - ensure tmp file is closed and fix UB in diff error path
    - do not crash when a meta-data file in the .got directory is empty
    - make the gotd auth process provide the user's account name for later use
    - avoid opening objects in the gotd session process for no reason
    - use imsg_get_fd() instead of imsg->fd everywhere
    - tolerate remotes without urls in git config file for interop with git-annex
    - plug some fd leaks in the fdopen{,dir} error paths
    - log -b: handle merge commits unrelated to requested changed path history
    - fix use of uninitialized variable in update_blob()
    - plug memory leak in got_pack_dump_delta_chain_to_file()
    - never write accum_buf on error in got_pack_dump_delta_chain_to_file()
  • 0.95
    77e5865e · CHANGES for 0.95 ·
    got 0.95
    
    - plug memory leaks in checkout, update, and status commands
    - gotwebd: repair the "chroot" option in /etc/gotwebd.conf; regression from 0.94
    - gotwebd: add breadcumbs to navigate paths in tree/blob/commits/blame views
    - gotwebd: add a dark mode, enabled based on web-browser preferences
    - gotwebd: add History/Blob/Raw-File links to blob and blame views
    - gotwebd: adjust blob line numbers for text-mode browsers
    - gotwebd: make the blame view work in text-mode browsers
    - gotwebd: add a Patch action to serve diffs in plain text
    - gotwebd: add Patch and Tree links to the diff view
    - gotwebd: display README files in tree views
    - gotwebd: display a tree-listing and README files in the summary view
    - gotwebd: render less tags in the summary page to make space for other content
    - gotwebd: swap order of tags and branch listings on the summary page
    - gotwebd: display 'More' link instead of 'prev/next' links in the tag listing
  • 0.94
    3d4035d2 · CHANGES for 0.94 ·
    got 0.94
    
    - in diff error message, say what was being diffed
    - gotwebd.css: vertically align briefs age and author
    - honor fetch_all_branches configuration again
    - tog: switch back to patience diff algorithm by default for pretty diffs
    - gotwebd: render all the datetimes in a time tag
    - slightly reword 'got merge' documentation to hopefully be more clear
    - make 'tog diff' release the work-tree lock earlier
    - got patch: handle embedded NULs in lines of patch files with binary data
    - simplify usage of the 'mesg' histedit script command
    - fix some fd leaks in error paths and avoid some double-close()
    - use ibuf_fd_set() instead of reaching into the ibuf struct
    - gotwebd: remove dead ipproto handling in host() and host_if()
    - allow setting variables in gotd.conf syntax
    - fix gotwebd unveil permissions; gotwebd now runs entirely read-only
    - reduce gotwebd pledges to the minimum currently required
    - gotwebd.conf: drop support for inferring listen addresses via interface names
    - gotwebd.conf: use listen * instead of listen "" to listen on any address
    - gotwebd: get rid of got_sockaddr.[ch] usage to help -portable
    - allow gotd repo read/write processes to max out data-size resource limits
    - gotwebd: replace proc.c with much simpler code
    - gotwebd: don't chdir to / before spawning the child processes
    - remove the quite ineffective gotwebd repository cache to fix stability issues
    - fix memory leak on error in got_privsep_recv_painted_commits()
    - gotwebd: fix broken signal catching
    - detect concurrent changes to the set of pack files while matching object IDs
  • 0.93
    9f84980b · CHANGES for 0.93 ·
    got 0.93
    
    - show out-of-memory errors from zlib inflate() and deflate() calls
    - make 'got fetch' and 'got send' release the work tree lock earlier
    - tog: add basic regress for log limit and log search
    - fix "no git repository found" on locked work trees; regression from 0.91
    - gotwebd: CSS improvements, looks much better in text-based browsers
    - gotwebd: don't lose track of the current file during commit log pagination
    - gotwebd: move buffering from the fastcgi layer to the template layer
    - got diff: fix "No newline at end of file" showing up where not expected
    - make 'got send' detect connections unexpectedly closed by server
    - fix detection of modified files in fresh work trees created with checkout -E
    - gotd: fix bogus "gotsh: operation timed out" errors; regression from 0.92
  • 0.92
    8565077e · CHANGES for 0.92 ·
    got 0.92
    
    - allow modified files to be deleted during merges if content exists in repo
    - disallow overlapping repo and work tree in 'got checkout'
    - speed up opening of the work tree's file-index
    - speed up deltification by resizing block hash tables less often
    - add support for commit keywords to 'got log -x'
    - fix 'got log -dPp' diffstat duplication bug
    - improve out-of-date reporting accuracy in 'got branch -l' output
    - document that the log -d option implies log -P
    - prevent file-index corruption via deletion of missing locally-added files
    - prevent a double-free in got_worktree_commit
    - fix regression from 0.76: 'got diff' output matches /usr/bin/diff -p again
    - gotsh: do not set POLLOUT flag if there is no data to send, for portability
    - gotd: stop logging "unexpected end of file" when client decides to disconnect
    - make gotd flush pending messages before disconnecting the client upon success
    - gotwebd: fix bogus modification times displayed when show_repo_age is off
    - tog: show work tree base commit marker in the log view
    - tog: fix an infinite loop that could be triggered via log view search
    - plug a memory leak in tog's blame view
    - tog regress: prevent crash in ncurses when Ctrl-C is used to cancel test runs
    - tog regress: fix occasional failures due to commit timestamp mismatch
    - regress: nix 'set -A' kshism from tests for portability
  • 0.91
    ea2cd47d · CHANGES for 0.91 ·
    got 0.91
    
    - use _POSIX_HOST_NAME_MAX from <limits.h> for portability
    - add merge -M option which tells 'got merge' not to fast-forward a reference
    - make gitwrapper ignore "permission denied" errors for repository paths
    - add cvg(1), a CVS-like Git client; still WIP and not installed by default yet
    - add initial implementation of 'gotadmin dump' which creates Git bundle files
    - add initial implementation of 'gotadmin load' which loads Git bundle files
    - gotadmin cleanup: consider object reachability while cleaning packfiles
    - gotadmin cleanup: don't delete pack files that are too young
    - prevent useless EEXIST errors filling up the global custom error array
    - abort histedit if the user quits the editor without saving the script
    - fix double-free in tog blame view error path
    - add support for keywords as <commit> arguments to got and tog
  • 0.90
    bbdcc5d5 · CHANGES for 0.90 ·
    got 0.90
    
    - fix segfault in 'got diff' when a root commit is passed to -c
    - make 'got status' error out as intended when invoked in a repository
    - make 'got tree /' succeed in a work tree
    - make 'got add *' more forgiving about versioned paths on the command line
    - make 'got merge' forward branches if there are no changes to merge
    - prevent 'got merge' from creating commits on branches outside "refs/heads/"
    - got, tog: show reference names that begin with the prefix "HEAD" as intended
    - gotd: unveil repositories read-only in session process while serving fetches
    - gotd: avoid a "failed to push some refs" error from no-op 'git push'
    - gotd: avoid re-writing existing ref files when a ref-update is a no-op
    - gotd: show relevant commit hashes in error message if incoming pushes collide
    - gotd: wait asynchronously for child process termination
    - gotwebd: avoid the slowness of needlessly traversing full commit history
    - gotwebd.conf: disallow 1 for max_commits_display and report range errors
    - gotwebd.conf: disallow yes/no for booleans to avoid accidental "on" vs. "no"
    - gotwebd: avoid "gotweb_render_index: repo.git: unexpected end of file" error
    - gotwebd: simplify the matching of requests against servers in gotwebd.conf
    - ignore files with invalid reference names while reading references from disk
    - teach 'gotadmin cleanup' to remove redundant pack files
    - grab gc.pid.lock file during cleanup operation to block 'git gc' from running
  • 0.89
    9602b780 · CHANGES for 0.89 ·
    got 0.89
    
    - gotd: return early after disconnect on auth event error instead of crashing
    - make 'got patch' display statistics about files with conflicts and rejects
    - make 'got diff' not treat \r\n line endings as special
    - fix test failures in test_blame_lines_shifted_skip on certain times of day
    - show reference labels next to commit messages in tog log view
    - some gotwebd refactoring related to handling of file descriptors
    - gotwebd: lower log priority of unexpected disconnections
    - gotwebd: avoid needless double fseek()
    - fix the size of gotwebd's tempfiles array; exposed by errors from ftruncate()
    - simplify ancestry checks in checkout, update, rebase, and merge commands
    - make gitwrapper not fail if programs it wants to run do not exist on disk
    - stop showing backup references in the tog log and diff views
    - consistently use ten Xs in mkstemp(3) templates
    - only delete empty directories which appear in arguments to 'got rm'
    - simplify parsing of host names and IP addresses in gotwebd's parse.y
    - make 'got merge' refuse to run if a merge is in progress
    - make 'got merge -c' fail even if new changes only affect unrelated paths
  • 0.88
    7e97a14e · sync dist file list ·
    got 0.88
    
    - tog: always use alternate charset for vertical/horizontal line
    - several tog regression test suite improvements
    - run the tog tests as part of the default regress set
    - tog: resize log view if toggling fullscreen from child view
    - when finding changed paths iterate tree entries in on-disk order for speed
    - cache fulltext data in delta cache to improve speed with long delta chains
    - gotwebd: fix logic error in gotweb_render_index
  • 0.87
    b249788f · changes for 0.87 ·
    got 0.87
    
    - add gitwrapper(1)
    - tog: resume blame and diff search from the first line
    - fix crash in got log due to NULL-deref in got_object_blob_close
    - add support for protecting references against 'got send -f' to gotd
    - fix spurious empty packfile error from gotd when rewinding a branch
    - tog: implement automated test harness
    - update the base commit ID of unmodified files if the blob ID matches
    - fix rebase/histedit -a leaving some files on the temporary branch
    - make 'got revert' and 'got rm' work on non-existent directories
    - got: flush stdout before printing the error in main()
    - when aborting rebase/histedit/merge, unlink files added by merged changes
    - fix 'got commit' using a bad parent commit ID when worktree is out-of-date
    - allow no-op merge commits to be created
    - fix sending merge commits
    - show how to fetch a pull request in got.1 pull request example section