|
cca5682e
|
2020-11-18T16:34:28
|
|
allow for configuring a custom file atomizer with got_diff_get_config()
|
|
24e87ea3
|
2020-11-18T16:15:41
|
|
remove unused function got_diffreg_prepared_files()
|
|
cb7c1b68
|
2020-11-18T16:14:30
|
|
remove unused function got_diff_blob_prepared_file()
|
|
72254787
|
2020-11-18T16:12:35
|
|
simply got_diff_prepare_file() by letting callers worry about file creation
|
|
dea26038
|
2020-11-18T14:24:16
|
|
sync files from diff.git 29916bb6c0c248ca6fa5486cb9e081d92112e86c
|
|
c27a5e66
|
2020-11-18T13:48:26
|
|
new blame algorithm which compares commit N-1 to N; with help from Neels
|
|
f1cbc3bc
|
2020-11-18T13:48:23
|
|
decouple line_offsets/nlines output params of got_object_blob_dump_to_file()
|
|
62ad13c5
|
2020-11-16T20:55:57
|
|
remove unused empty function got_diff_dump_change()
|
|
f3c44083
|
2020-11-14T16:39:35
|
|
sync files from diff.git fe6d58fb52ea8d1041a8eb65e28a04816df67c08
|
|
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.
|
|
f6d8c0ac
|
2020-11-09T16:04:18
|
|
fix replacing symlinks with files
And add a test case which verifies that the inverse also works,
i.e. a symlink being replaced with a regular file.
problem reported and fix tested by jrick
|
|
63df146d
|
2020-11-09T16:03:35
|
|
fix missing unlink(tmppath) in error cases of install_blob()
|
|
2ac8aa02
|
2020-11-09T16:02:12
|
|
clear staged file type in file index entries whenever staged status is cleared
|
|
727173c3
|
2020-11-06T00:20:05
|
|
initialize sb.st_mode after stat(2) failure in got_worktree_resolve_path()
|
|
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
|
|
3818e3c4
|
2020-11-01T16:28:46
|
|
convert all remaining instances of chmod(2) to fchmod(2)
ok stsp
|
|
0843a4ce
|
2020-10-31T04:54:20
|
|
use fchmod(2) instead of chmod(2). it is less racy, and we just opened the descriptor.
ok naddy@ stsp@
|
|
f8c47409
|
2020-10-28T15:52:46
|
|
fix permissions mode bits for fetched pack files; patch by Alisdair MacLeod
|
|
eef9542c
|
2020-10-22T20:37:50
|
|
preserve what was passed in if got_repo_map_path() can't figure out a path
problem found by + ok naddy
|
|
20b7abb3
|
2020-10-22T20:36:23
|
|
detect unknown repository format extensions (such as sha256 format)
ok millert
|
|
62d463ca
|
2020-10-20T22:43:59
|
|
indentation fixes
|
|
2513f20a
|
2020-10-20T21:09:01
|
|
plug memory leaks in error paths; found by naddy
|
|
20a2ad1c
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in schedule_for_deletion(); avoids const dirname(3)
ok naddy
|
|
fddefe3b
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in remove_ondisk_file(); avoids const dirname(3)
ok naddy
|
|
f5375317
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in install_blob() to avoid const dirname(3)
ok naddy
|
|
f4994adc
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in install_symlink() to avoid const dirname(3)
ok naddy
|
|
ce031e9e
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in is_bad_symlink_target()
ok naddy
|
|
ed6b5030
|
2020-10-20T21:09:01
|
|
use got_path_dirname() in merge_blob() instead of assuming const dirname(3)
ok naddy
|
|
3524bbf9
|
2020-10-20T21:09:01
|
|
make merge_file() use got_path_dirname() instead of assuming const dirname(3)
ok naddy
|
|
aedea96d
|
2020-10-20T21:09:01
|
|
adapt got_open_worktree to non-const dirname(3)
ok naddy
|
|
0c93d204
|
2020-10-20T21:09:00
|
|
tried_root in got_open_repo is not needed
ok naddy
|
|
aff6eea4
|
2020-10-20T21:09:00
|
|
handle non-const dirname in got_repo_open() and plug a memory leak
ok naddy
|
|
9aceaadf
|
2020-10-20T21:09:00
|
|
properly skip to the end upon error in got_repo_open()
ok naddy
|
|
0c4004e3
|
2020-10-20T21:09:00
|
|
handle non-const dirname(3) in got_path_dirname()
ok naddy
|
|
0a9483d0
|
2020-10-19T23:14:59
|
|
handle non-const basename in got_path_basename()
ok millert
|
|
dbdd6209
|
2020-10-19T23:14:59
|
|
handle non-const basename in resolve_symlink()
ok millert
|
|
d34b633e
|
2020-10-19T23:14:59
|
|
use got_path_basename() in match_deleted_or_modified_ct()
ok millert
|
|
102b254e
|
2020-10-19T23:14:59
|
|
switch to got_path_basename() in alloc_added_blob_tree_entry()
ok millert
|
|
1233e6b6
|
2020-10-19T23:14:59
|
|
switch to got_path_basename in revert_file
ok millert
|
|
4a26d3f8
|
2020-10-07T22:37:48
|
|
fix a bug where 'got status' showed an unchanged empty file as changed
|
|
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
|
|
b8adfa55
|
2020-09-25T21:35:10
|
|
add "branch" keyword to got.conf which specifies a list of branches to fetch
ok tracey
|
|
e03cc834
|
2020-09-24T16:47:06
|
|
handle failed connection attempts to git:// servers; patch by jrick
|
|
66cb1a7f
|
2020-09-24T13:45:36
|
|
strip trailing slashes from repository path in got_fetch_parse_uri()
|
|
0921e08f
|
2020-09-24T10:49:36
|
|
remove redundant leading slashes from repository path when parsing URIs
|
|
5a17689a
|
2020-09-24T00:28:58
|
|
fix matching the object ID of the first object in a pack index
An object ID which appears first in a pack index was wrongly ignored by
got_packidx_match_id_str_prefix(). The result was a spurious "object not
found" error when this object ID was passed on the command line.
Reported by jrick on freenode who was lucky enough to this edge case!
|
|
0a22ca1a
|
2020-09-23T22:31:00
|
|
make 'got histedit' collapse folded add+delete operations into a no-op
If a merged commit wants to delete a locally added file, and this locally
added file matches the content which was deleted in the commit being merged,
we can go ahead with the deletion because there is no risk of data loss.
fixes the histedit problem reported by jrick on freenode
|
|
a1c4175c
|
2020-09-22T00:42:02
|
|
there is no need to grab locks when opening refs in got_ref_delete()
|
|
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.
|
|
2a104ff6
|
2020-09-21T23:37:54
|
|
make 'got ref -d' delete both loose and packed representations of the reference
|
|
ebc5bf64
|
2020-09-19T19:26:16
|
|
add missing <sys/types.h> include
ok stsp
|
|
6c13dcd2
|
2020-09-18T18:24:09
|
|
send gitconfig imsg string values the same way as gotconfig ones are sent
|
|
5874ea87
|
2020-09-18T17:58:10
|
|
follow-up to be96c417: Do not assume a \0 when receiving GOTCONFIG_STR_VAL.
|
|
a9705505
|
2020-09-18T17:51:30
|
|
allow NULL pointer argument for got_free_gotconfig()
|
|
23c57b28
|
2020-09-11T19:44:18
|
|
Stop including <sys/syslimits.h> directly.
POSIX says the limits defined there are available from <limits.h>,
which almost all affected source files already included anyway.
ok millert stsp
|
|
50b0790e
|
2020-09-11T17:04:57
|
|
add per-worktree got.conf(5) file in the .got directory; ok millert
|
|
0823ffc2
|
2020-09-10T20:44:40
|
|
use modern POSIX timestamp fields in struct stat
ok stsp
|
|
3168e5da
|
2020-09-10T00:10:55
|
|
zap trailing tabs
|
|
257add31
|
2020-09-09T23:57:40
|
|
add got.conf(5) configuration file
ok tracey
|
|
78fb0967
|
2020-09-09T21:41:22
|
|
use the POSIX standard endian functions and explicitly include <endian.h>
ok stsp
|
|
81a12da5
|
2020-09-09T19:35:32
|
|
do not rely on <zlib.h> to pull in <unistd.h>
ok stsp
|
|
ef744db3
|
2020-08-27T10:18:21
|
|
in got_object_commit_get_logmsg(), handle log messages which lack '\n'
found by tracey's scan-build
|
|
d6b7d054
|
2020-08-27T10:06:18
|
|
exit the loop in got_privsep_recv_tree() upon error
found while looking over tracey's scan-build results
|
|
fca1f6ad
|
2020-08-27T10:05:38
|
|
plug a memory leak in got_privsep_recv_tree() in error case
found while looking over tracey's scan-build results
|
|
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@
|
|
f2b0a8b0
|
2020-07-31T12:54:34
|
|
fix committing file additions from a work tree with a path prefix
New files were added under the wrong tree in the repository if the work
tree has a path prefix. Fix this problem and catch it in the existing
commit_with_path_prefix regression test.
|
|
69d57f3d
|
2020-07-31T11:19:29
|
|
fix spurious 'got cherrypick' error with a path prefix and an empty tree
If the work tree's path prefix does not exist in the first of the two
trees, then 'got cherrypick' failed with "no such entry found in tree".
But this is a legitimate situation, as shown in the new test added here.
The first tree could be the empty tree, for example, which should result
in 'got cherrypick' adding all files from the second tree instead of
complaining about a non-existent path-prefix directory in the first tree.
|
|
b66cd6f3
|
2020-07-31T10:33:34
|
|
display more context info in "no such entry found in tree" error messages
|
|
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
|
|
aa9ad276
|
2020-07-25T09:17:55
|
|
fix use of uninitialized variable in got_fileindex_entry_update()
|
|
559d127c
|
2020-07-23T15:07:52
|
|
errant tab found by tracey
|
|
283102fc
|
2020-07-23T14:22:41
|
|
remove the symlink conflict header feature; it causes noise for little benefit
|
|
f9eec9d5
|
2020-07-23T14:22:40
|
|
rename get_symlink_status() to get_symlink_modification_status() for clarity
|
|
f179e66d
|
2020-07-23T14:22:40
|
|
use a shortcut in get_file_status() for detecting symlinks appearing on disk
|
|
fda8017d
|
2020-07-23T14:22:40
|
|
move deeply indented code from unstage_path() to a new unstage_hunks() helper
|
|
36bf999c
|
2020-07-23T14:22:40
|
|
make 'got unstage -p' work with symlinks
|
|
aa092692
|
2020-07-23T14:22:40
|
|
initialize output parameter of got_object_blob_read_to_str(); found by ofree
|
|
dfe9fba0
|
2020-07-23T14:22:40
|
|
remove merge_blob() fallback from merge_symlink(); let callers handle this
|
|
75f0a0fb
|
2020-07-23T14:22:39
|
|
stop reinstalling symlinks after commit; 'got update' can handle that
|
|
35213c7c
|
2020-07-23T14:22:39
|
|
forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
|
|
3c1ec782
|
2020-07-23T14:22:38
|
|
put checks for bad symlink target paths into a dedicated function
|
|
ea7786be
|
2020-07-23T14:22:38
|
|
make 'got unstage' work with symlinks
|
|
b7422a2f
|
2020-07-23T14:22:38
|
|
stop using realpath(3) to resolve a symlink target in install_symlink()
We should not resolve a symlink target path recursively when installing a
symlink in the work tree. We want to handle this symlink's target, not the
end result of following a chain of symlinks in case such links already exist.
|
|
369fd7e5
|
2020-07-23T14:22:38
|
|
add support for symlinks to 'got revert -p'
|
|
fa3cef63
|
2020-07-23T14:22:37
|
|
make 'got stage -p' work with symlinks
|
|
b448fd00
|
2020-07-23T14:22:37
|
|
fix wrong function name in an error message
|
|
0aeb8099
|
2020-07-23T14:22:37
|
|
set a staged file type and handle it separately from the on-disk file type
|
|
c631b115
|
2020-07-23T14:22:36
|
|
make staging of symlinks work
|
|
cf34e6e7
|
2020-07-23T14:22:36
|
|
mark functions which are not exposed to other files as static
|
|
4723f050
|
2020-07-23T14:22:36
|
|
more fixes for setting/getting file index entry filetype and permissions
|
|
6131ab45
|
2020-07-23T14:22:36
|
|
remove pointless error checking in got_fileindex_entry_filetype_set()
|
|
984c073d
|
2020-07-23T14:22:36
|
|
add getter/setter for staged file index entry filetype
|
|
f5f1f9c2
|
2020-07-23T14:22:35
|
|
handle on-disk file index entry filetypes properly
|
|
1e0a3718
|
2020-07-23T14:22:35
|
|
reserve some file entry mode bits for a staged file type
|
|
6e1eade5
|
2020-07-23T14:22:35
|
|
fix 'got revert' progress output for symlinks
|
|
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
|
|
65b05cec
|
2020-07-23T14:22:35
|
|
add an output argument to create_fileindex_entry()
Avoids a pointless search of the file index in the case the caller
needs to use the newly created file entry.
|
|
2e1fa222
|
2020-07-23T14:22:34
|
|
give bad symlinks a dedicated file type in the file index
|