|
61bce19e
|
2022-06-15T19:19:28
|
|
revert "clear the rest of the pack_fds pointers"
There is no need to clear local variables before returning from a function.
ok tracey
|
|
bb1c2cf3
|
2022-06-15T15:37:20
|
|
clear the rest of the pack_fds pointers
|
|
0ae84acc
|
2022-06-15T13:52:20
|
|
move got_opentempfd out of got_repo_open. ok stsp@
thanks for all the help massaging this diff
|
|
85c34e74
|
2022-06-13T09:37:38
|
|
fix error case handling in print_commit_oneline(); pointed out by op@
|
|
61dd0f65
|
2022-06-13T09:37:38
|
|
remove outdated and overly-specific documentation of got log -s output
ok op@
|
|
d91e0535
|
2022-06-13T09:37:38
|
|
make got log -s show committer date
ok op@
|
|
4cac2b4e
|
2022-06-13T09:37:38
|
|
make got log -s display local reference names
ok op@
|
|
793b9394
|
2022-06-12T15:45:11
|
|
got log: sync match_commit from tog
So that 'got log -S' can match also the author and committer name, and
the commit ID too.
ok stsp@
|
|
3ef807ee
|
2022-06-08T11:01:11
|
|
reword description of how got log -p and -P interact with got log -S
|
|
a558dd1b
|
2022-06-08T10:56:53
|
|
reuse a temporary file across commits during got log -p -S
suggested by + ok op@
|
|
ee0fb1ff
|
2022-06-08T10:33:53
|
|
make it possible to match committed patches with got log -p -S pattern
ok op@
|
|
caea18c1
|
2022-06-08T09:51:05
|
|
add a missing .Pp to got.1
|
|
90e25b1f
|
2022-06-08T09:43:35
|
|
plug a memory leak in show_change(), line was leaked
|
|
c1c775eb
|
2022-06-08T09:16:08
|
|
add one-line output mode to got log with -s flag
-s for short. Moves log search to -S.
Patch by Evan Silberman
|
|
b72706c3
|
2022-06-01T05:08:20
|
|
move creation of tempfiles outside of lib/diff.c
ok tracey
|
|
57160834
|
2022-05-31T11:00:09
|
|
open temporary files needed for delta application in got_repo_open()
This prepares for callers of got_repo_open() that cannot afford to
open files in /tmp, such as gotwebd. In a follow-up change, we could
ask such callers to pass in the required amount of open temporary files.
One consequence is that got_repo_open() now requires the "cpath" pledge
promise. Add the "cpath" promise to affected callers and remove it once
the repository has been opened.
ok tracey
|
|
bad961bf
|
2022-04-23T10:39:47
|
|
got patch: allow to reverse a patch
add a flag to got_patch to reverse a patch before applying and the -R
flag for `got patch'.
ok stsp@
|
|
86187278
|
2022-04-23T08:09:03
|
|
mention -p in usage_patch
|
|
d7b5a0e8
|
2022-04-20T14:00:12
|
|
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list.
ok op@
|
|
728ed142
|
2022-04-19T15:09:57
|
|
simplify apply_unveil in cmd_patch: the worktree is not optional
|
|
3d1a1e4c
|
2022-04-13T19:35:01
|
|
fix a double-free in an error case of cmd_checkout()
|
|
ffd9dda7
|
2022-04-10T11:34:02
|
|
make 'got tag' unlock the work tree earlier when creating tags
The work tree was only held open in order to find its got.conf file since
this file could contain a tagger name to use. Read the tagger name earlier.
Once the tagger name is known we can close the work tree already.
|
|
2a261ce7
|
2022-04-09T17:40:16
|
|
make 'got tag -l' unlock the work tree earlier to allow other parallel commands
|
|
a091f71a
|
2022-04-09T17:37:21
|
|
make 'got cat' not search for a work tree if the -r option is used
Fixes failures in our test suite if 'got tag -l | less' is used in
the work tree while cmdline tests are running.
|
|
67ba6161
|
2022-04-08T09:14:02
|
|
leave work tree in a usable state after 'got rebase' fails path-prefix checks
reported by naddy
|
|
392891ce
|
2022-04-07T13:20:47
|
|
pass an already open commit object to the blame callback
ok op@
|
|
a44927cc
|
2022-04-07T12:57:31
|
|
stop relying on commit cache for good performance of got_object_id_by_path()
Instead of internally opening and closing the same commit object over and
over again, require callers to pass an open commit object in. Avoids an
inherent dependency on the commit object cache for reasonable performance.
ok op@
|
|
9d6cabd5
|
2022-04-07T09:28:59
|
|
got patch: allow to strip path components
Move some bits from the libexec helper to the main process so we know if
the patch was generated by git or not and finally document the automatic
stripping of a/ and b/ prefixes added by git-diff(1).
ok stsp@
|
|
3e99fbc5
|
2022-03-23T20:59:29
|
|
plug a memory leak in list_refs(), ok stsp@
|
|
1a7a534e
|
2022-03-22T11:22:12
|
|
tweak wording to make it clearer where the mentioned -u option applies
|
|
3b01d641
|
2022-03-22T11:19:46
|
|
mention that 'got patch' is compatible with 'cvs diff -u' output
|
|
3f3a6472
|
2022-03-22T11:17:41
|
|
mention that 'got patch' can read diffs produced by Git, to avoid any doubt
|
|
e38d4cde
|
2022-03-21T13:14:13
|
|
subordinate clauses preceding the main clause are offset by a comma
|
|
60aa1fa0
|
2022-03-17T16:38:43
|
|
augment patch progress callback with hunks info; recover from errors
Augment got_patch_progress_cb by providing the hunks that were applied
with offset (or that failed) and the recoverable error encountered
during the operation (bad status, missing file, ...)
got_patch now proceeds when a file fails to be patched and exits with
GOT_ERR_PATCH_FAILED if no other errors are encountered.
While here, also add a test for the 'hunk applied with offset' case and
shrink test_patch_dont_apply and illegal_status by taking advantage that
'got patch' doesn't stop at the first error. (And add some other cases
to illegal_status too.)
discussed with and ok stsp@
|
|
2be5e1a2
|
2022-03-16T18:23:03
|
|
got patch: keep permissions after patching a file
ok stsp@
|
|
b22138f5
|
2022-03-16T15:41:10
|
|
introduce got_patch_progress_cb
This introduce a proper got_patch specific progress callback that is
invoked after processing a patch. It also drops the hackish printf in
the modified case and takes `nop' out of the struct got_patch.
ok stsp
|
|
b8af7c06
|
2022-03-15T10:45:02
|
|
print additional progress information while packing
ok op@
|
|
899fcfdf
|
2022-03-13T20:31:44
|
|
add a dry-run/nop mode for got patch
with lots of help from stsp for the manpage bits!
|
|
986288a6
|
2022-03-13T19:51:12
|
|
fix weird paragraph breaks in 'got patch' man page section
|
|
3e72b288
|
2022-03-13T19:46:23
|
|
more 'got patch' man page tweaks
|
|
750a3093
|
2022-03-13T18:32:04
|
|
some man page tweaks for 'got patch'
ok op@
|
|
dd6c3779
|
2022-03-13T15:36:56
|
|
improve `got patch' section of the manpage
Simplify some phrasing, explain what preconditions `got patch' has and
what happens to the work tree when an error occurs.
|
|
dbda770b
|
2022-03-13T15:36:56
|
|
check file status before applying the patch
Don't allow `got patch' to delete files that are not known, or add files
that are already known and to edit files that are known, not obstructed
and without conflicts.
|
|
f7fce2e2
|
2022-03-12T19:29:39
|
|
make got log, diff, blame, tree, and cat unlock the work tree earlier
These commands perform potentially long-running operations on the
repository after reading information from the work tree. There is no
need for them to keep the work tree locked until the end. Doing so
blocks other commands the user may want to run concurrently. For example,
the user may want to be able to run 'got diff' in the work tree while
browsing 'got log' output in less(1).
Pointed out by Misha on gameoftrees IRC.
|
|
ca6444c5
|
2022-03-11T17:25:33
|
|
got patch: re-add forgotten lseek
otherwise got-read-patch can't parse any patch because the position
indicator is at the end of file. While here fix the return too and set
patchfd to -1 on error (stsp suggestion.)
ok thomas, stsp
|
|
39479dae
|
2022-03-10T22:29:28
|
|
make "got cherrypick/backout" match argument against refs before object IDs
Use got_repo_match_object_id() instead of hand-rolled code and pick up
the updated handling of reference arguments.
ok stsp
|
|
d8247bfd
|
2022-03-10T21:23:31
|
|
make "got ref" match argument against references before object IDs
Use got_repo_match_object_id() instead of hand-rolled code and pick up
the updated handling of reference arguments.
ok stsp
|
|
d955343d
|
2022-03-08T16:01:03
|
|
pass the callback data instead of hardcoding NULL, ok stsp
|
|
e9ce266e
|
2022-03-07T22:26:08
|
|
add `got patch' command for applying unified diffs
|
|
3e166534
|
2022-02-16T18:32:17
|
|
const-ify command and option tables
ok stsp
|
|
e546352c
|
2022-02-16T17:03:02
|
|
remove stray tab that snuck in
|
|
bdc78ba6
|
2022-02-16T16:32:54
|
|
display GMT offset in cat command
ok stsp
|
|
b5934965
|
2022-02-12T21:48:46
|
|
shrink the width of formatted output fields to their expected size
Replace FMT_SCALED_STRSIZE with (FMT_SCALED_STRSIZE - 2) as field
width when formatting output for printing. FMT_SCALED_STRSIZE
includes space for a nul byte and a minus sign. Output values
are expected to be always positive here.
ok stsp
|
|
5a20d08d
|
2022-02-09T14:59:46
|
|
tweak error reporting due to invalid numbers
Use the same idiom as in the strtonum(3) manpage which produces a more
readable error message.
OK kn, stsp
|
|
1d918cf9
|
2022-02-06T14:56:36
|
|
improve error message due to malformed `author' in got.conf
tweak and ok stsp@
|
|
4e12cd97
|
2022-01-25T22:48:26
|
|
make 'got rm' behave like rm(1) for paths found missing on disk
ok millert@
|
|
ef2f551e
|
2022-01-12T09:32:40
|
|
add -t option to 'got branch' synopsis in got.1 man page
|
|
211cfef0
|
2022-01-05T19:57:10
|
|
use time-based rate-limiting for gotadmin progress output
Suggested by naddy some time ago.
ok tracey
|
|
c0df5966
|
2021-12-31T09:33:01
|
|
wrap overlong lines
|
|
e7ae0baf
|
2021-12-31T09:11:22
|
|
add O_CLOEXEC (close-on-exec) to openat(2) calls
suggested by millert
ok thomas_adam
|
|
8bd0cdad
|
2021-12-31T09:11:21
|
|
add O_CLOEXEC (close-on-exec) flag to open(2) calls
suggested by millert
ok thomas_adam
|
|
00fe21f2
|
2021-12-31T09:11:21
|
|
add "e" (close-on-exec) flag to fopen(3) calls
suggested by millert
ok thomas_adam
|
|
8a4f8535
|
2021-12-27T05:19:52
|
|
fix NULL dereference in 'got clone' if server sends an empty pack file
|
|
f76670f0
|
2021-11-20T11:33:31
|
|
add got branch -t option to sort listed branches by modification time
|
|
0f104432
|
2021-11-20T11:05:27
|
|
add got ref -t option to sort listed references by modification time
|
|
7d69d862
|
2021-11-15T15:18:40
|
|
let gotadmin find the repository automatically if invoked in a work tree
Move a small amount of code from worktree.c to a new file worktree_open.c,
which contains everything required to open and close a work tree and inspect
some of its basic parameters. This can be used by gotadmin.
ok tracey
|
|
4683a10b
|
2021-11-04T13:16:06
|
|
Fix mandoc HTML rendering for command aliases
Replace hand-rolled parentheses with the proper mdoc(7) macro,
otherwise the closing ")" ends up inside the command description.
Reported by Josh Rickmar, thanks!
|
|
2af61735
|
2021-11-03T22:13:50
|
|
document new 'got rebase' behaviour when commits do not need to be rebased
|
|
3d42b266
|
2021-11-03T21:42:33
|
|
switch branches during noop rebases
Always update to the specified branch even if the branch is already
rebased (no commits needed to be rebased, and the branch does not need
a fast forward). With the old behavior of erroring and staying on the
current branch, I sometimes found myself ignoring the error message,
treating it as information and assuming the branch update, and later
on committing on top of origin/main instead of the main branch.
feedback and ok stsp
|
|
b343c297
|
2021-10-11T18:54:11
|
|
use a bloom filter to avoid pointless pack index searches
|
|
10a623df
|
2021-10-11T18:38:33
|
|
sort and de-duplicate work tree path command line arguments
This is important in cases like 'got diff file.txt file.txt' which
should only show the diff for file.txt once.
suggested by kn@
|
|
51ed7429
|
2021-10-10T15:24:21
|
|
align 'diff -c' usage help with synopsis given in man page; suggested by naddy
|
|
67b631c9
|
2021-10-10T15:22:14
|
|
implement 'got diff -c' for diffing commits with optional filtering by path
Need for filtering by path sugggested by kn@
ok naddy@
|
|
8f83a264
|
2021-10-09T10:09:50
|
|
remove code which was setting up repo_path redundantly from cmd_diff()
|
|
8cb8da5b
|
2021-10-08T18:06:08
|
|
document "mg" as alias for the "merge" command
|
|
e7ffb0b0
|
2021-10-07T21:13:05
|
|
add support for multiple path arguments to 'got diff'
positive feedback from Omar and kn
ok kn
|
|
41f061b2
|
2021-10-05T14:06:02
|
|
ignore unversioned files while aborting rebase, histedit, merge or operations
ok jrick
|
|
90e6e620
|
2021-10-04T17:07:46
|
|
Fix "mandoc -T lint -W style got/got.1" nits
|
|
95f394e8
|
2021-10-04T17:05:33
|
|
Document command aliases in tmux(1) style, add tags for navigation
This has the advantage of tags being located right by the full command;
combined with tags ":tco" to search for the `co` alias will jump right
to the `checkout` line, neatly showing everything without needing
further navigation.
tmux hint from Thomas Adam, thanks.
OK stsp
|
|
b93c7142
|
2021-10-01T06:22:27
|
|
add histedit -e option which runs the 'edit' script command for every commit
ok jrick
|
|
fa161f0b
|
2021-09-28T21:48:11
|
|
update a CAVEAT in got.1 now that 'got merge' exists
|
|
cd33da48
|
2021-09-28T21:39:34
|
|
interrupt 'got histedit' upon missing/unversioned/not-deleted files
|
|
1fa49072
|
2021-09-28T21:30:53
|
|
interrupt 'got rebase' upon missing/unversioned/not-deleted files
|
|
606719cd
|
2021-09-28T21:29:30
|
|
document all reasons why 'got merge' might be interrupted
|
|
c1b05723
|
2021-09-28T20:56:05
|
|
make 'got merge' interrupt the merge upon undeleted and unversioned files
|
|
35ca1db7
|
2021-09-28T20:56:04
|
|
print additional stats about things that went wrong during a merge
|
|
0ff8d236
|
2021-09-28T06:59:08
|
|
show commit progress output when 'got merge -c' is used
Otherwise no progress output is shown at all with this command.
Commit progress output will also display any additional changes
which resulted from conflict resolution.
ok millert@
|
|
321a74a5
|
2021-09-27T12:17:19
|
|
garbage-collect unused "dist" target from subdirectory Makefiles
ok stsp
|
|
088449d3
|
2021-09-26T17:51:38
|
|
implement 'got merge -n' which interrupts before creating a merge commit
|
|
4e91ef15
|
2021-09-26T17:51:35
|
|
make it possible to merge vendor branches with 'got merge'
|
|
5c02d2a5
|
2021-09-26T17:40:10
|
|
for portability, handle errno variations upon open(2) failure with O_NOFOLLOW
Problem pointed out by naddy for FreeBSD -portable.
Discussed with millert, thomas adam, and naddy.
|
|
f365d762
|
2021-09-24T20:50:54
|
|
stop using the term 'obstructed' ambiguously in the got.1 man page
Specifically, obstructed files are versioned files which should be on disk
but have been replaced on disk by a non-regular file (e.g. by a directory).
The man page used the phrase "deletion was obstructed" which is unrelated
to the above concept and can be expressed as "deletion was prevented" instead.
|
|
1acd48bc
|
2021-09-24T20:47:39
|
|
stop caring about obstructed versioned files in 'got merge'
Tyring to write a test to cover this case I found that obstructed files
are (correctly) detected as local modifications in the work tree. Thus
they trigger the pre-condition check for local modications and 'got merge'
will not even start to do any work in the presence of obstructed files.
|
|
f259c4c1
|
2021-09-24T19:55:02
|
|
add a 'got merge' command for creating merge commits
Additional testing by Thomas Adam.
ok tracey
|
|
ac372b60
|
2021-09-15T17:11:46
|
|
'got status' does not have a -q option; remove it from got.1 synopsis
|
|
df7dea6e
|
2021-09-15T17:08:37
|
|
add -S option to 'got status' synopsis in got.1 man page
|
|
4f3c844b
|
2021-09-14T16:12:52
|
|
make 'got update' display the worktree's branch name upon success
ok tracey
|
|
788d4a19
|
2021-09-14T14:18:59
|
|
validate status codes given to 'got status -S'
|
|
b043307b
|
2021-09-14T14:15:49
|
|
make got status -s and -S options conflict
|
|
08e5873e
|
2021-09-14T14:05:27
|
|
make 'got checkout' display the checked out reference and commit ID
ok tracey
|