Commit Briefs
use size_t for loop indices to avoid signedness warnings; by emaste@freebsd
Same change as 16aeacf7088d, for subdirectories other than lib/
add fd field to got_repository, modify got_packidx_open to use fds
These changes are intended to make got more compatible with FreeBSD's Capsicum. ok stsp
implicitly mark all files in work tree as up-to-date after rebase/histedit
This should always be correct, since rebase and histedit start out with a clean and single-base-commit worktree, and end up committing all changes across the entire work tree when they are successful. tested by jrick and myself
allow editing of log message comments with 'got histedit'
This makes it possible to remove just comment lines from log messages during a histedit operation, leaving the rest of the log message as-is. The behaviour of treating changes to comment lines as no-ops was coded to prevent mistakes during 'got commit/import/tag', where the command will error out if the log message template is not modified. This is not appropriate for histedit because histedit is used to fix such mistakes. ok millert@
add got_error_fmt()
got_error_fmt() could eventually replace got_error_path() which has already been used to construct errors with strings that are not actually paths... ok millert@
add got_error_from_errno_fmt() for more flexibility in error messages
suggested by and ok millert
replace unprintable characters with '.' before passing them to curses
Otherwise, ncurses will replace them with some printable representation whose width we can't predict, and wunctrl() fails to return the replacement for 0x80..0x9f. ok stsp
prevent log message loss of folded commits during histedit
If the histedit log message editor exits without saving its buffer, Got threw away log messages of all commits which were folded. Only the last commit message is preserved, which could be something meaningless like "fixup". Instead, preserve the initial editor buffer content as-is. That is not going to be an ideal log message, but doesn't throw away information and stands out visually because the newly created log message will start with a comment like '# log message of folded commit a0ff...' Problem reported by jrick
histedit -f conflicts with -F option
Also fixed as part of a different patch from jrick ok jrick
use a helper function to generate error messages for mutually exclusive options
Inspired by a different patch from jrick ok jrick
add histedit -f flag for folding shortcut
"please push it" stsp