Commits


got: set error on asprintf() failure ok op@


catch a few missed got_pathlist_append() error checks ok stsp@


got: zap dead variable in add_branch() ok stsp@ op@


got: minor refactor of got_pathlist_free() API Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@


got: expand diffstat -d option to 'got diff' Like got log -d, add the switch to 'got diff' to display a diffstat of changes; as per stsp's suggestion, we always include diff output with the diffstat. Disabled in gotwebd (for now :) Includes tweaks from op@ ok stsp@


fix 'got rebase' not detecting an out-of-date work tree in some cases ok jamsek, op


show from: and via: headers on consecutive lines in 'got log' and 'tog log' ok jamsek


add -d switch to log usage and sort lexicographically patch by Josiah Frentsos


got: implement diffstat for got log and tog diff view Add new got_diff_blob_cb() implementation to compute added/removed line metrics for a given diff. This enables displaying a diffstat with 'got log -d'. As per suggestion from stsp, change tog diff view to display the diffstat by default. ok stsp@


show full URL during got clone/fetch/send discussed with and ok jamsek, stsp


got send: show server error Print the error message reported by the remote server when failing to update a branch (for e.g. because of a server-side check.) Reported by gonzalo@, with help and ok stsp@.


make 'got clone -b' work for repositories which lack a HEAD reference ok op@


use mkstemps(3) instead of mkstemp(3) for opening named temporary files Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@


provide a diff of changes in a temp file while editing a commit log message ok landry@


require space between commit author name and email, for Git compatibility Allowing such author fields breaks 'got send' towards Github for affected commits because git-index-pack --strict will error out on the server: $ git index-pack --strict pack-de791fb6a3a1961e44ac5d98d72fd533bf9277c8.pack error: object 5d6bde9eaaf27f41ae8fa7112bb45e489d3c16b9: missingSpaceBeforeEmail: invalid author/committer line - missing space before email fatal: fsck error in packed object problem encountered by landry@ ok op@


sort getopt() option lists and switch statements; patch by Josiah Frentsos


simplify the way 'got patch' opens a tempfile when reading from stdin Also add basic test coverage for reading patches from stdin, while here. ok op@


the my_refs reflist in delete_missing_refs() must be freed on exit


sync usage with reality The -h and -V/--version flags must be given before the command; with those flags the command is actually optional, but don't over-complicate the usage string with these nitpicks. ok/improvements stsp@


disallow integrating into references outside refs/heads/ Spotted by stsp@ while considering a feature request for cmd_integrate. ok stsp@


show file mode for new added files in work tree diffs Make work tree diffs of local changes on disk display the file mode of new added files like other versions of `got diff` currently do. ok stsp@


add gotadmin init -b <branch> to specify repo head ref Similar to `git init -b`. Includes a change to `got import` behaviour such that "main" is no longer hardcoded by default; instead, we import to the branch resolved via the repository's HEAD reference unless `got import -b` is used, and only if HEAD cannot be resolved to a branch do we fallback to "main". includes fix plus ok from stsp@


make got_commit_graph_iter_next use caller-provided storage for the id and adjust the callers. discussed with and ok stsp@


plug leak in the commit graph iterator We fail to release the memory for the nodes. To fix it however, we some consumer of the commit graph iterator need to be corrected: the returned pointer is safe to be used only up until the next iter_next call; save a copy it if it's needed afterwards too. ok stsp@


got: fflush(stdout) after asking questions Not everywhere getline does an implicit fflush, so we might end up not showing the prompt to the user. Spotted on alpine with muslc. ok Thomas Adams