|
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
|
|
fe621944
|
2020-11-10T22:54:37
|
|
merge new diff implementation from the git.gameoftrees.org diff.git repository
This new diff implementation was started by Neels Hofmeyr during the u2k20
hackathon and now replaces diffreg.c code lifted from the OpenBSD base system.
The integration of this code into Got was done by me.
Got now uses the patience diff algorithm by default.
The diff.git repository will remain the primary repository for the diff code,
which already compiles and runs on other operating systems such as Linux.
Any fixes and improvements for files inherited from the diff.git repository
should be written against that repository and synced to got.git afterwards.
|
|
4fedbf4c
|
2020-11-07T17:59:31
|
|
avoid got_repo_map_path() in 'got tree' if a work tree is available
Note that got_worktree_resolve_path() will return a path based on
the current working directory if the argument is the empty string.
This quirk keeps the behaviour of 'got tree' intact which depends
on the current working directory if run in a work tree.
ok naddy@
|
|
01740607
|
2020-11-04T20:18:53
|
|
avoid got_repo_map_path() in 'got blame'
'got blame' does not need access to the work tree. So far the work tree
was completely hidden with unveil(). We must now expose the work tree
while resolving the path, so unveil() calls are shuffled around slightly.
Failing realpath() calls would mess with path resolution otherwise.
There's a bug in got_worktree_resolve_path() where it failed to canonicalize
a path constructed from a user-specified path that does not exist on disk.
Note that this path falls into strncmp() a few lines down. I am fixing this
by adding canonicalization. Generally, joining paths with asprintf() and
comparing paths with strncmp() is fragile. A more general solution might be
needed but I am leaving that for another day.
ok naddy
|
|
7f9bfb31
|
2020-11-01T22:49:19
|
|
replace resolve_commit_arg() helper in got.c with got_repo_match_object_id()
|
|
579bd556
|
2020-10-24T13:18:03
|
|
prevent a NULL dereference if 'got log -p' runs against a root commit
|
|
603cdeb0
|
2020-10-22T20:37:50
|
|
make 'got log' avoid got_repo_map_path() if run in a work tree
ok naddy
|
|
62d463ca
|
2020-10-20T22:43:59
|
|
indentation fixes
|
|
54eb00d5
|
2020-10-20T22:25:57
|
|
properly handle nonexistent remote repository names given to 'got fetch'
found by jrick
ok naddy
|
|
f0207f6a
|
2020-10-19T23:14:59
|
|
switch to got_path_basename() in cmd_checkout()
ok millert
|
|
016859fc
|
2020-10-02T19:30:50
|
|
suggest aggregated pathnames in find(1) example
ok stsp
|
|
42a285e2
|
2020-10-01T20:52:12
|
|
unveil repositories read-write when adding tags with 'got tag'
|
|
6879ba42
|
2020-10-01T15:15:22
|
|
do not treat the -h and -V flags as errors
When run with the -h or -V option, output the help or version text
to stdout and exit with success (0). Only write usage and help
information to stderr and exit with error (1) if there is a mistake
in the command syntax.
tweak and ok stsp
|
|
f535bcd4
|
2020-09-30T16:38:17
|
|
fix 'bad path' error from 'got clone' by unveiling the repository path again
Problem found by jrick
|
|
9814e6a3
|
2020-09-27T14:55:18
|
|
prefer the BSD extension to reset getopt over the GNU one
Sadly there is no portable way to reset getopt(3).
BSD: optind = 1; optreset = 1;
GNU: optind = 0;
ok stsp
|
|
1367695b
|
2020-09-26T20:53:13
|
|
fix potential type mismatches between format specifiers and arguments
Cast printf arguments of type time_t and off_t to long long to match
the %lld format specifier on platforms where this might not be the
case. In parse.y, switch the number variable to long long because
all its interactions are with that type anyway.
ok millert stsp
|
|
bfa12d5e
|
2020-09-26T18:59:46
|
|
rework got's commit-time log message modification check
Use a new approach for detecting unchanged log messages: Strip comments
and leading/trailing empty lines from both the initial content and the
modified log message, then compare the result. Do not assume a fixed
upper limit for the length of a line.
Change suggested and patch tested by jrick
typo fix + ok naddy
|
|
820059fa
|
2020-09-25T22:49:42
|
|
whitespace fixes (patch by jrick)
|
|
b8adfa55
|
2020-09-25T21:35:10
|
|
add "branch" keyword to got.conf which specifies a list of branches to fetch
ok tracey
|
|
b08a0ccd
|
2020-09-24T14:39:18
|
|
do not pledge 'got integrate' in a PROFILE=1 build
found by jrick on freenode
|
|
04d9a9ec
|
2020-09-24T13:45:44
|
|
allow an interrupted 'got clone' to be resumed by 'got fetch'
Set up config files as soon as possible such that 'got fetch' has enough
information in order to resume an interrupted clone operation. We need to
receive at least a default HEAD branch name from the server before we can
set up our configuration files.
The previous code also verified whether the default branch name supplied by
the server resolved to a commit received in the pack file. This check cannot
be done early but a wrong branch name in a config file can be fixed easily.
|
|
7c0b7f42
|
2020-09-24T11:00:06
|
|
refactor code which creates config files for 'got clone' using helper functions
|
|
a9c2d4c2
|
2020-09-24T10:53:18
|
|
fix default branch name written to Git config file by 'got clone'
The generated Git config file instructed Git to fetch all branches rather
than the default branch as was intended.
Check generated configuration files in all clone tests in order to catch
such problems in the future.
|
|
2751fe64
|
2020-09-24T09:16:18
|
|
let 'got clone' try to connect to server before creating repository contents
|
|
521dbd35
|
2020-09-22T16:48:28
|
|
trim leading slashes from repository path written to got.conf (found by naddy)
|
|
48cae60d
|
2020-09-22T00:03:02
|
|
make dangling symbolic references show up in 'got ref -l'
Storing a resolved ID for each reference list item was a bad idea.
This ID cannot be resolved if a symbolic references points to a reference
which does not exist. Such symrefs were skipped by got ref -l as a result.
Just let users of reference lists resolve the IDs as needed.
|
|
c47340da
|
2020-09-20T00:17:51
|
|
in cmd_checkout() handle basename(3) modifying its argument
ok naddy@
|
|
72862ecf
|
2020-09-16T12:04:07
|
|
add missing space in got-worktree(5) synopsis
|
|
0429cd76
|
2020-09-15T19:09:36
|
|
fix typo in error message
|
|
934b035c
|
2020-09-15T09:56:52
|
|
expand "Got" to "Game of Trees" in got-worktree(5) synopsis line for consistency
|
|
5b735925
|
2020-09-15T09:52:03
|
|
document our default choice of text editor; suggested by Ricky Cintron
|
|
0f43fed9
|
2020-09-14T14:05:11
|
|
add got.conf(5) to MAN list in Makefile
|
|
53643ae1
|
2020-09-14T13:51:51
|
|
document why got.conf(5) will not configure the editor to use
|
|
46215d2a
|
2020-09-11T18:32:20
|
|
add 'got histedit' to got.1's list of commands which use EDITOR/VISUAL
|
|
42536c09
|
2020-09-11T18:31:21
|
|
fix misplaced comma in got.conf(5) SEE ALSO section
|
|
59f86c76
|
2020-09-11T17:26:40
|
|
plug memory leaks in error paths while collecting log messages
|
|
97972933
|
2020-09-11T17:26:08
|
|
check for errors from write(2) and close(2) while collecting log messages
|
|
50b0790e
|
2020-09-11T17:04:57
|
|
add per-worktree got.conf(5) file in the .got directory; ok millert
|
|
1601cb9f
|
2020-09-11T15:09:35
|
|
use plain write() in place of dprintf() with a pre-formatted string
step-by-step guidance from millert; ok millert stsp
|
|
3168e5da
|
2020-09-10T00:10:55
|
|
zap trailing tabs
|
|
cc8dff2e
|
2020-09-10T00:07:08
|
|
remove unused files; their contents were merged into got-read-gotconfig
|
|
257add31
|
2020-09-09T23:57:40
|
|
add got.conf(5) configuration file
ok tracey
|
|
4dbec0a8
|
2020-08-27T10:46:17
|
|
actually make use of an intermediate variable in cmd_clone()
found by tracey's scan-build
|
|
766841c2
|
2020-08-13T19:12:57
|
|
add -s option to 'got remove' which deletes files in a particular status
This makes it easy to deal with files that were deleted from disk by external
tooling which modified the work tree. Such files are left in missing (!)
status and can now be marked for deletion in bulk via 'got rm -s\! -R .'
For consistency, modified (M) files can now be removed with 'got rm -s M'
which implies 'got rm -f'.
Prompted by feedback from krw@
|
|
081470ac
|
2020-08-13T19:12:57
|
|
add -s option to 'got status' which acts as a status code filter
Advantages over using grep are that the list of codes is validated against
a list of known status codes, and that it is easier to match staged files
which can display status codes in one or both of two columns.
Prompted by feedback from krw@
|
|
d93542d4
|
2020-08-08T12:09:35
|
|
In got-worktree(5), explain how to re-create a corrupt or missing file index.
|
|
6d7260fd
|
2020-08-03T07:56:23
|
|
remove remnants of recursive include support from parse.y
|
|
51b930a3
|
2020-08-02T16:50:17
|
|
clean up those one-liner assignments
ok stsp
|
|
9e6e8e60
|
2020-08-02T16:38:51
|
|
got parse.y tweaks
Rename things to better match their intended purpose. Tweak namespacing.
Add a function for freeing config items that are dynamically allocated.
Add 'struct gotconfig' to make room for potential global settings we might
want to add later, instead of implementing just a list of remote repositories.
ok tracey
|
|
502b9684
|
2020-07-31T15:36:42
|
|
make 'got log' -R and -P options work in combination
With -R, the -P option did not show any paths.
Regression test added here demonstrates the problem.
|
|
b2118c49
|
2020-07-28T20:17:19
|
|
Add a 'got info' command which displays work tree meta-data.
Remove the alias 'got in' for 'got init'.
The 'in' alias was too close to either 'init' or 'info'.
ok tracey, millert
|
|
cf07f22b
|
2020-07-25T16:28:50
|
|
improve "got log ." command mark-up in got.1 EXAMPLES
|
|
af358f55
|
2020-07-23T16:49:58
|
|
tweak description of new -S option for 'got commit' and 'got stage'
with input from + ok tracy and millert
|
|
35213c7c
|
2020-07-23T14:22:39
|
|
forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
|
|
3b9f0f87
|
2020-07-23T14:22:35
|
|
handle additional symlink conflicts and report skipping of unversioned files
|
|
c90c8ce3
|
2020-07-23T14:22:35
|
|
preserve unversioned files when merging added symlinks
|
|
39449a05
|
2020-07-23T14:21:29
|
|
make 'got diff' show changes to symlinks in a work tree
|
|
eb59b6d4
|
2020-07-23T14:21:28
|
|
show path in error message when blaming a symlink pointing to a directory
|
|
0587e10c
|
2020-07-23T14:21:28
|
|
add symlink support to 'got blame' and 'tog blame'
|
|
c34ec417
|
2020-06-22T17:09:05
|
|
restructure gotweb parse.y to be like the new got parse.y
correct a lot of incorrect error handling
adjust copyrights
|
|
fb863fa4
|
2020-06-22T15:06:23
|
|
get a parser in place for the future inclusion of gotconfig to git repos
this is for got push and got fetch, primarily
ok stsp
|
|
bcbc2272
|
2020-05-20T17:40:57
|
|
document how to use commit messages prepared in a file; patch by Scott Bennett
|
|
0d6c6ee3
|
2020-05-20T17:37:29
|
|
make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target
|
|
5d58be12
|
2020-05-17T09:49:01
|
|
fix 'got tree' usage message; the path argument is optional
|
|
f4d0e3fb
|
2020-05-15T09:50:33
|
|
shorten the "Updated reference" message printed by 'got fetch'
|
|
0208f208
|
2020-05-05T09:53:57
|
|
show a list of paths changed in a commit with 'got log -P', and in tog
requested by matthieu@
|
|
2e8c69d1
|
2020-05-04T19:37:36
|
|
fix "no such entry found in tree" error with got log -p and an added path
ok millert@
|
|
4343a07f
|
2020-04-24T16:33:32
|
|
filter out "remote/*/HEAD" references in 'got log' output
|
|
50f2fada
|
2020-04-24T16:22:28
|
|
fix 'got log -r' loading refs from the wrong repo if invoked in a work tree
ok tracey
|
|
ef9e2ed7
|
2020-04-19T10:28:06
|
|
fix another typo in git-repository.5
|
|
9eba2c58
|
2020-04-19T10:26:29
|
|
spelling fix in git-repository.5
|
|
bd81cfb7
|
2020-04-19T08:57:07
|
|
clarify wording in got.1 related to local changes/commits/branches
|
|
f79e6490
|
2020-04-19T08:24:07
|
|
move clone/fetch connection progress messages to a more obvious spot
|
|
5e9b18fa
|
2020-04-19T08:13:58
|
|
tweak a 'got fetch' progress message for accuracy
|
|
e54dde05
|
2020-04-19T08:12:25
|
|
tweak a 'got clone' progress message for accuracy
|
|
3d0ac559
|
2020-04-18T22:22:29
|
|
wording tweak in got.1
|
|
04e9dcf3
|
2020-04-18T22:20:57
|
|
add an example for log -R to got.1
|
|
dbec59df
|
2020-04-18T21:24:54
|
|
add 'got log' -R option to reverse commit display order
|
|
52ab7958
|
2020-04-18T21:15:07
|
|
tweak documentation of 'got log -x' for accuracy
|
|
9627c110
|
2020-04-18T18:40:01
|
|
show a summary of conflicts and related problems after updating/merging files
ok millert@
|
|
5036ab18
|
2020-04-18T18:40:00
|
|
make 'got update' skip conflicted files
ok millert@
|
|
d1fe46f9
|
2020-04-18T10:28:24
|
|
add 'got log' -x option to stop logging when a specific commit was traversed
|
|
ccecc9fd
|
2020-04-18T10:28:20
|
|
wrap an overlong line
|
|
b784a72b
|
2020-04-01T08:11:31
|
|
remove a redundant .Pp in got.1 (found by mandoc -T lint)
|
|
4f331d3a
|
2020-04-01T08:11:09
|
|
in got.1, clarify how 'got update' deals with local (aka uncommitted) changes
|