Commits


tog: show author ("orig") date in Diff view if different from committer date


tog log: show author dates if showing author names (@)


cvg: add author_time argument to got_worktree_cvg_commit() No functional change, but keeps the code in sync with got.


got rebase: preserve author timestamps Adds test_rebase_preserves_author_data to regress/cmdline/rebase.sh.


gotwebd: show commit id prefix on briefs page tweak + ok op@, "seems good to me" (webpage review) stsp@


tog: show shortened "id1 -> id2" as path in diffstat when diffing blobs This matches the output of "got diff -d". ok jamsek


tog: expand diffstat to all diff views Suggested by naddy: display diffstat in diff views of arbitrary commits. For the sake of consistency, show it in tree and blob diffs now too. Adjust and grow regress to cover the change. ok stsp@


regress for tog diff view 'p' keymap; ok stsp@


tog diff 'p' keymap: show id prefix in diff filename This helps identify diffs when several have been written. Suggested by stsp on IRC. ok stsp@


move pack cache entries to front upon any access, not just when cache is full


tog: add diff view 'p' keymap to write the diff to file Write the current diff view to a temporary patch file in /tmp and report the pathname to the status line. discussed with naddy input and ok stsp@


add a todo item for 'got rebase'; prompted by a question from tb@


zap redundant free This pointer is owned by the caller and is freed in error paths via close_diff_view() ok stsp@


bump version number


CHANGES for 0.102


got_worktree_prepare_path_info -> got_worktree_path_info_prepare


got patch: lock the worktree Since we may update the fileindex, the worktree must be preemptively locked exclusively. It's an old thing, been there since the start. ok stsp@


rename got_fileindex_version() to got_fileindex_get_version()


rename got_worktree_fileindex_version() to got_worktree_get_fileindex_version()


make info commands show the work tree format version, too ok op@


got/cvg info: print work tree version This exends got_worktree_path_info() to resemble the "transaction"-like interface we have for rebase, patch etc. There's a prepare() routine that returns the fileindex, and locks the worktree, and a complete() function to free the fileinedx and release the lock. This way, we can open only once the fileindex in cmd_info() and have the chance to ask for its version. ok stsp@


cmd_info: use got_error_path instead of _fmt No functional change intended.


style/fmt


rename idlen to digest_{,string_}len In my early sha256 work I've used `idlen' to parametrize the digest length, but that's ambiguous since it could refer either to the digest length (in binary form) or the digest _string_ length (hexadecimal). So, change the few offenders to either digest_len or digest_string_len, which is a "naming scheme" I've already used in the rest of the tree. ok stsp@


skip over lonely packidx when searching for objects This changes the search_packidx, match_packed_object and get_packfile_info routines to skip over lonely packidx. These seems to be generated occasionally by 'git fetch' over HTTP/S. Instead of dealing with this situation in gotwebd, which is fragile, attempt to do it at the lib/ level. `gotadmin cleanup' will still complain about these lonely packidx and `gotadmin cleanup -p' is still required. discussed with and ok stsp@