|
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
|
|
00357e4d
|
2021-09-14T13:49:46
|
|
add suppress status-code selection to got status. this allows for a quick way to
clean output without the use of ignore files. ok stsp
|
|
4ad4a1ec
|
2021-09-13T16:23:12
|
|
add -q quiet mode to checkout and update. supressing output keeps the terminal
responsive on large repos. ok jrick stsp
|
|
824d5f77
|
2021-09-12T16:33:13
|
|
fix copy-pasto: got.conf protocol option takes a 'scheme' argument, not a 'path'
|
|
1b796c3f
|
2021-09-11T08:06:47
|
|
fix a null-pointer deref in 'got fetch -d'; reported by Omar Polo
|
|
5e5da8c4
|
2021-09-05T20:51:29
|
|
rename got_fetch_parse_uri() to got_dial_parse_uri()
This function is now being used by both 'got fetch' and 'got send' so
its former name was misleading.
|
|
d65a88a2
|
2021-09-05T20:19:14
|
|
move duplicated dial_ssh() and dial_git() functions into a common file
These functions are used by 'got send' and 'got fetch' in order to
open network connections to a server. Move them into new file lib/dial.c
and declare relevant functions in got_dial.h and lib/got_lib_dial.h.
No functional change.
|
|
abc59930
|
2021-09-05T19:41:03
|
|
indentation fixes
|
|
978a28a1
|
2021-09-04T16:22:38
|
|
make "got branch -d" print reference name and value
Also silence output of "got branch -d" in a regression test, from stsp.
ok stsp
|
|
69de9dd4
|
2021-09-03T09:02:06
|
|
limit checks for merge conflicts to files affected by the merge
Performance problems reported by naddy
|
|
6435d2a6
|
2021-09-02T21:43:35
|
|
sys/param.h is not needed
|
|
a16d97bd
|
2021-09-02T19:19:49
|
|
remove ancestry sanity checks from 'got cherrypick' and 'got backout'
While these checks might catch usage mistakes the performance overhead
of scanning the entire history of the current branch is not worth it.
Measurements provided by naddy, cherrypicking 5 commits of OpenBSD's
src repository in usr.bin/rsync:
Before: 5m50.33s real 4m02.36s user 2m04.41s system
After: 1m04.92s real 0m28.24s user 0m36.54s system
Further performance improvements could be needed but this is a first step.
|
|
e1d27370
|
2021-09-01T11:58:40
|
|
Fix ksh completion example to complete the first arg only; from Clint Pachl
|
|
eac1df47
|
2021-09-01T11:06:42
|
|
make 'got send' heed the branch {} options in got.conf(5); they were ignored
ok naddy
|
|
93f8a337
|
2021-08-30T16:34:04
|
|
tweak implementation of separate send {} and fetch {} conf blocks
Tweak man page.
Factor out repeated code in if/else branches in send_gotconfig_remotes().
ok stsp@
|
|
6480c871
|
2021-08-30T15:51:23
|
|
provide separate send {} and fetch {} configuration blocks in got.conf
Feature requested by naddy.
ok naddy, who also suggested some tweaks that will arrive shortly
|
|
e385fc42
|
2021-08-30T15:48:05
|
|
use gmtime_r(3) instead of localtime_r(3) to display time in UTC as intended
Problem noticed by naddy due to failing regress tests at midnight, and then
analyzed with additional help from millert.
ok naddy
|
|
43e4eb1b
|
2021-08-29T07:28:01
|
|
Add got(1) command tab-completion for ksh(1) to EXAMPLES section.
Suggested by Clint Pachl, thanks!
|
|
27b75514
|
2021-08-28T10:46:51
|
|
do not send a pack file when 'got send' is only deleting branches
The git protocol spec says the client MUST NOT send a pack file
if the only command used is 'delete'.
Fixes 'got send -d' against Github's server which closed the session
upon receiving the empty pack file we sent. This problem wasn't caught
by regression tests since git-daemon does accept an empty pack file.
Problem reported by jrick.
|
|
2f1457c6
|
2021-08-27T16:48:53
|
|
allow deletion of refs/remotes/ branches with got branch -d
Also, make requirements for branch name arguments more flexible.
Absolute reference names are now accepted.
ok naddy@
|
|
a099809f
|
2021-08-27T07:44:17
|
|
more manual page updates following the introduction of 'got send'
|
|
93a300b2
|
2021-08-26T21:50:10
|
|
small man page spelling fixes
|
|
fd44090b
|
2021-08-26T19:53:20
|
|
tweak the man page section about 'got send'
In particular, attempt to describe the -f option better.
|
|
f8a36e22
|
2021-08-26T12:30:42
|
|
add 'got send' command for sending changes to remote repositories
Known to work against git-daemon and github Git server implementations.
Tests by abieber, naddy, jrick, and myself.
Man page additions reviewed by Lucas.
|
|
aa8b5dd0
|
2021-08-01T12:59:32
|
|
fix a use-after-free in get_changed_paths() in got and tog
Once the parent commit is closed the tree_id1 pointer is no longer valid,
but the pointer was still being used. Make a deep copy to fix this issue.
|
|
161728eb
|
2021-07-24T09:08:52
|
|
add 'got fetch -X' option for deleting references created by 'got fetch'
|
|
da630daa
|
2021-07-16T11:30:37
|
|
make got_ref_delete() report symbolic references as intended
|
|
90830082
|
2021-07-16T11:28:01
|
|
in delete_ref(), only print progress output after deletion has succeeded
|
|
f9d54ee6
|
2021-07-16T11:13:12
|
|
align messages printed by 'got fetch -d' with 'got ref -d' and -X options
|
|
993f033b
|
2021-07-16T11:07:29
|
|
make 'got ref -d' print reference name and value like the new -X options do
|
|
643b85bc
|
2021-07-16T10:47:10
|
|
new -X option for removing backups created by got rebase and got histedit
ok semarie
|
|
ff56836b
|
2021-07-08T10:30:10
|
|
Make 'got add' always require the -I option in order to add ignored files.
|
|
e6786710
|
2021-07-03T22:08:15
|
|
mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned
|
|
7e36bc2b
|
2021-06-25T09:23:51
|
|
move todo items from got.1 caveats to gotadmin.1 as appropriate
|
|
edeec58d
|
2021-06-25T09:22:59
|
|
remove a todo item from got.1 caveats; 'gotadmin pack' can pack repositories
|
|
dbdddfee
|
2021-06-23T20:48:35
|
|
switch from SIMPLEQ to equivalent STAILQ macros
The singly-linked tail queue macros were added to OpenBSD 6.9 and
are more widely available on other systems.
ok stsp
|
|
3217be6d
|
2021-06-22T20:03:59
|
|
in got.1, add -I to the synopsis line of the status command
|
|
f6343036
|
2021-06-22T20:00:44
|
|
new -I option for 'got status' to show files which match an ignore pattern
|
|
1d0f4054
|
2021-06-17T08:56:43
|
|
check for close(2) error in got_repo_close() and propagate errors up
ok tracey
|
|
91c82228
|
2021-04-18T11:50:01
|
|
got.1: make double-quotes appear in the rendered man page as intended
Patch by Nam Nguyen
|
|
6c19a3dc
|
2021-04-10T13:37:59
|
|
add missing comma in SEE ALSO section of git-repository(5)
|
|
0a79feb1
|
2021-04-10T13:35:23
|
|
Xr gotadmin(1)
|
|
1795b260
|
2021-04-02T23:31:08
|
|
Fix "mandoc -T lint" WARNINGS and ERRORS, add missing word
|
|
1a1242a9
|
2021-04-01T19:28:57
|
|
diff: reduce duplicate code
Condense error checking to reduce a future diff moving those lines around;
this pattern is already used in other parts of the tree.
fine stsp
ok tracey
|
|
9e822917
|
2021-03-23T11:39:17
|
|
rebase/histedit -l: error out if no backups for the requested branch exist
|
|
e3199de8
|
2021-03-21T19:09:35
|
|
fix strftime return value check; found by jrick
|
|
e600f124
|
2021-03-21T19:09:35
|
|
ensure that old commits remain referenced after rebase and histedit
Create automatic "backup" references which ensure that objects from
the pre-rebase or pre-histedit state remain in the repository.
A new -l option for 'got rebase' and 'got histedit' lists old commits.
This makes it easier to recover from botched rebase or histedit operations.
Removal of such objects currently requires got ref -d and git-gc.
This will be made more convenient in the future.
testing and ok jrick
|
|
601aba22
|
2021-03-21T19:08:46
|
|
improve got ref -d documentation: mention that objects won't be deleted
ok jrick
|
|
ec6d1a36
|
2021-03-21T18:49:57
|
|
Fix strftime(3) short buffer checks
strftime(3) returns 0 if the buffer was too short to write the
complete string (including NUL) and will never return more than
maxsize-1.
ok stsp
|
|
4e20a648
|
2021-03-21T16:39:29
|
|
Clarify log -x is inclusive
ok stsp
|
|
34d4e04c
|
2021-02-08T13:52:37
|
|
include remote branches in the output of 'got branch -l'
This makes it easier to discover the existence of copies of remote
branches in the local repository, and fixes a missing asterisk in
'got branch -l' while the work tree is switched to a remote branch.
Prompted by feedback from helg, thanks!
|
|
8ea5c997
|
2021-02-07T20:55:39
|
|
got info: fix a pasto in an error message
|
|
df3ed485
|
2021-01-31T11:57:10
|
|
simplify the error message shown when 'got rebase' has nothing to do
|
|
28cf319f
|
2021-01-28T17:06:22
|
|
add 'got commit -F' option to commit with a log message stored in a file
To avoid accidents commit -F opens the prepared log message in an editor
so it can be reviewed before the commit is created.
For non-interactive use the -N option is required in addition to -F.
ok millert@
|
|
a5a46be2
|
2021-01-27T22:20:52
|
|
in 'got clone', allow -l together with -q, for consistency with 'got fetch'
|
|
7b4f1fcb
|
2021-01-27T22:12:42
|
|
in got.1 fix a 'got branch' example which used obsolete syntax
|
|
56b63ca4
|
2021-01-22T11:04:47
|
|
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
|
|
56d0a753
|
2021-01-20T21:07:46
|
|
let 'got clone' write gitconfig directives that match the generated got.conf
|
|
99495ddb
|
2021-01-10T23:48:51
|
|
add a 'reference' directive to remote repositories in got.conf(5)
Make use of this in 'got clone' to persist -R option arguments given on
the command line in the cloned repository's got.conf(5) file.
|
|
5aa20203
|
2021-01-05T17:51:49
|
|
document that 'got clone -a' sets 'fetch-all-branches' in got.conf(5)
|
|
0c8b29c5
|
2021-01-05T17:22:14
|
|
add a 'fetch-all-branches' configuration setting to got.conf(5)
Set fetch-all-branches in the got.conf(5) file created by 'got clone -a'
in order to make a future 'got fetch' act like 'got fetch -a' by default.
|
|
132af4a5
|
2021-01-05T15:30:44
|
|
store all branches passed via 'got clone -b' in got.conf(5) and git-config(1)
|
|
612392ee
|
2021-01-05T14:01:16
|
|
allow the 'got fetch' -l option together with the -q option
Make use of this in tests to hide useless output from ssh(1).
|
|
15d3c221
|
2021-01-05T13:47:37
|
|
make 'got clone' pin the fetched branch in got.conf(5)
Avoids relying on the server-side HEAD ref by default during future fetches.
|
|
888b7d99
|
2020-12-26T23:18:45
|
|
make use of a reflist object id map in 'got log'
Impoves performance of 'got log' on the FreeBSD Git repo which can easily
contain more than 4000 references.
|
|
d9dff0e5
|
2020-12-26T21:32:01
|
|
switch reflist to TAILQ; insert elements more efficiently for sorted input
ok naddy
|
|
84de9106
|
2020-12-26T20:48:43
|
|
Add a refs argument to got_repo_match_object_id(), replacing 'resolve_tags'
Make use of this where possible to avoid re-reading references from disk.
ok naddy
|
|
cc63216e
|
2020-12-26T12:23:23
|
|
update got.1 CAVEATS section; prompted by feedback from otto@
|
|
6059809a
|
2020-12-17T15:54:47
|
|
use size_t for loop indices to avoid signedness warnings; by emaste@freebsd
Same change as 16aeacf7088d, for subdirectories other than lib/
|
|
0d5bb276
|
2020-12-15T23:50:35
|
|
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@
|
|
71392a05
|
2020-12-13T11:43:41
|
|
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
|
|
b3805337
|
2020-12-13T11:40:10
|
|
histedit -f conflicts with -F option
Also fixed as part of a different patch from jrick
ok jrick
|
|
ff69268e
|
2020-12-13T11:38:48
|
|
use a helper function to generate error messages for mutually exclusive options
Inspired by a different patch from jrick
ok jrick
|
|
9f6bb280
|
2020-12-11T11:41:43
|
|
remove redundant explanation of histedit -f and -m options from got.1
|
|
b54435ba
|
2020-12-11T01:19:21
|
|
fix typo in got.1: "only if" -> "if only"; pointed out by tracey
|
|
2a78779e
|
2020-12-11T01:18:32
|
|
document that histedit -f can only be used if starting a histedit operation
|
|
466785b9
|
2020-12-10T23:24:31
|
|
add histedit -f flag for folding shortcut
"please push it" stsp
|
|
64453f7e
|
2020-11-21T13:35:00
|
|
handle binary files in got/tog diff commands; add -a options to force text
|
|
be659d10
|
2020-11-18T17:18:23
|
|
fix type of filesize output parameter of got_object_blob_dump_to_file()
|
|
8fa913ec
|
2020-11-14T13:19:18
|
|
remove now pointless 'check_disk' parameter of got_repo_map_path()
suggested by naddy
|