|
a46b9f33
|
2020-01-28T12:09:03
|
|
fix a bug where 'got revert -R' failed on added subtrees
The command could fail with "got: no such entry found in tree".
This problem is reproduced by the regression test added in this commit.
This happened because file index entries were processed in the wrong
order by diff_fileindex_dir(). To fix this, keep removed entries in
the RB tree and skip them when the file index is written out, rather
than removing entries from the RB tree immediately causing side-effects
for RB_NEXT and friends.
|
|
3dcf3e74
|
2020-01-28T11:00:34
|
|
rewind directory file pointer before re-opening the directory
|
|
965988c5
|
2019-12-16T12:40:02
|
|
plug memory leak introduced in commit 6fc93f379e4f736797334532691d298244b2b014
|
|
22902794
|
2019-12-13T11:02:05
|
|
this lseek() call in read_dirlist() isn't needed
|
|
7f91a133
|
2019-12-13T11:05:04
|
|
open files during status crawl in a race-free way, too
|
|
ae8965b9
|
2019-12-13T10:42:39
|
|
add missing fdopendir() error check in read_dirlist()
|
|
6fc93f37
|
2019-12-13T10:36:41
|
|
prevent the status crawl from racing with paths changing in the filesystem
|
|
56e0773d
|
2019-11-28T02:32:58
|
|
convert tree entries from SIMPLEQ to an array
|
|
6ced7ba8
|
2019-09-22T13:28:06
|
|
avoid a NULL deref in diff_fileindex_tree(); found by jj@ with scan-build
|
|
40b289d7
|
2019-09-07T12:05:27
|
|
make 'got status' ignore inaccessible directories (reported by semarie)
|
|
63c5ca5d
|
2019-08-24T20:56:15
|
|
detect and ignore Git submodules
|
|
b15816dd
|
2019-08-11T20:01:21
|
|
in got_fileindex_entry_update() don't hide errors other than ENOENT
|
|
ef5e02fd
|
2019-08-11T18:45:18
|
|
don't clobber errno value of opendir(3); found by Hiltjo Posthuma
|
|
8957ae76
|
2019-08-08T16:38:43
|
|
ensure that file index entry perms map to regular files
|
|
3cd04235
|
2019-08-03T14:30:02
|
|
fix definition of GOT_FILEIDX_F_STAGE_SHIFT
|
|
0cb83759
|
2019-08-03T13:31:03
|
|
implement got_worktree_stage_paths()
|
|
df335242
|
2019-08-03T12:56:22
|
|
add staged blob SHA1 to on-disk file index; bump file index version
|
|
83718700
|
2019-08-03T12:28:51
|
|
define file index stage flags
|
|
3f762da0
|
2019-08-03T12:06:47
|
|
rename file index entry variables called 'entry' to 'ie'
|
|
4d555405
|
2019-08-03T11:59:34
|
|
remove ie->path_len; use path length stored in file index entry flags
|
|
9714e35f
|
2019-08-03T11:36:03
|
|
remove unused fileindex flags
|
|
d6c87207
|
2019-08-02T16:24:13
|
|
require callers to pass path length to got_fileindex_entry_get()
|
|
6f8967eb
|
2019-08-02T16:18:13
|
|
always initialize file index entry's path_len field
|
|
d572f586
|
2019-08-02T15:42:42
|
|
eliminate strlen() calls during fileindex rb tree searches
|
|
6bf2c316
|
2019-08-02T15:12:36
|
|
avoid unnecessary memcpy() in read_fileindex_path()
|
|
fe1d3e7a
|
2019-08-02T15:01:57
|
|
don't potentially leak entry->path in read_fileindex_entry()
|
|
26a7fe28
|
2019-07-27T16:42:04
|
|
add conversion functions for fileindex/stat permission bits
|
|
30a076bc
|
2019-07-27T14:57:06
|
|
keep fileindex->tree diff code similar to fileindex->DIR diff code
|
|
39beb6da
|
2019-07-27T14:49:09
|
|
don't pass DIR pointers around needlessly in fileindex.c
|
|
c577a9ce
|
2019-07-25T21:06:41
|
|
fix 'got status' recursion problems
|
|
638f9024
|
2019-05-13T12:40:57
|
|
rename got_error_prefix_errno() to got_error_from_errno()
|
|
03df25b3
|
2019-05-11T19:13:10
|
|
disallow directories with 'got add'; add a TODO item for them
|
|
656b1f76
|
2019-05-11T14:26:12
|
|
while (1) -> for (;;)
|
|
230a42bd
|
2019-05-11T13:04:38
|
|
got_error_from_errno -> got_error_prefix_errno
also add got_error_prefix_errno2 and got_error_prefix_errno3 which
should hopefully all be merged into a single function with variadic
args (but can't alloc mem)
|
|
324d37e7
|
2019-05-11T09:14:30
|
|
make got path APIs available to library consumers
|
|
573463cc
|
2019-04-06T05:31:33
|
|
init output parameter in walk_dir()
|
|
14ae1db5
|
2019-04-06T05:21:11
|
|
plug memory leaks in diff_fileindex_dir()
|
|
c4cdcb68
|
2019-04-03T16:17:53
|
|
add support for partial updates, which affect specific paths only
|
|
13d9040b
|
2019-03-27T12:33:41
|
|
test and improve behaviour for wt edit vs repo rm conflict
|
|
2ec1f75b
|
2019-03-26T10:35:33
|
|
add a basic implementation of 'got rm'
|
|
d00136be
|
2019-03-26T09:03:53
|
|
implement a basic 'got add' command
|
|
ddce0520
|
2019-03-26T07:02:59
|
|
allow file index entries without blobs and/or commits
|
|
eb983b4b
|
2019-03-26T06:49:00
|
|
make file index flags private to fileindex.c
|
|
e288864f
|
2019-03-26T06:44:27
|
|
renmae GOT_FILEIDX_F_NOT_ON_DISK to GOT_FILEIDX_F_NOT_FLUSHED
|
|
c2ac9456
|
2019-03-15T16:39:34
|
|
add missing 'static' for local functions
|
|
a0bf6e76
|
2019-03-15T16:35:47
|
|
rename 'intent-to-add' file index flag to 'not-on-disk'
|
|
c442a90d
|
2019-03-10T15:55:28
|
|
read UUID back from work tree meta data
|
|
927df6b7
|
2019-02-10T18:42:29
|
|
allow restricting 'got diff' and 'got status' to a path in work tree
|
|
13ff9e90
|
2019-02-10T16:53:56
|
|
use break instead of goto to exit loop; no functional change
|
|
18831e78
|
2019-02-10T16:32:21
|
|
fix another path ordering bug during status/update crawl
|
|
02c07007
|
2019-02-10T12:46:14
|
|
don't update cached timestamps of already modified files
|
|
fdb730fe
|
2019-02-06T00:53:28
|
|
remove an '#if 0' which was not intended for commit
|
|
c7f4312f
|
2019-02-05T17:46:58
|
|
make 'got status' work in subdirectories of a work tree
|
|
95e06996
|
2019-02-05T15:53:09
|
|
fix memleak in previous commit
|
|
ed83bff7
|
2019-02-05T15:50:03
|
|
we must use dynamic allocation for dirents in diff_fileindex_dir()
|
|
e7a2f030
|
2019-02-05T15:30:23
|
|
fix code before declaration
|
|
763e1377
|
2019-02-05T15:25:17
|
|
fix an uninitialized variable in diff_fileindex_dir()
|
|
f5d3d7af
|
2019-02-05T15:19:24
|
|
use path lists to sort dirent, tree object, and file index entries
|
|
fc727cc5
|
2019-02-05T11:16:33
|
|
insert at tail of list in insert_dirent()
|
|
554b91b1
|
2019-02-04T16:55:18
|
|
oops, fix endless loop in diff_fileindex_dir(); code was missing somehow
|
|
500cd40f
|
2019-02-04T14:19:29
|
|
make fileindex dir diff traverse dirents in git-tree order
|
|
b25ae4fa
|
2019-02-04T12:18:23
|
|
ignore top-level .got dir during fileindex dir diff
|
|
b1ec3986
|
2019-02-04T11:51:19
|
|
skip "." and ".." in diff_fileindex_dir()
|
|
d1f6d47b
|
2019-02-04T11:17:36
|
|
add support for diffing fileindex against an on-disk directory tree
|
|
f44ffd20
|
2019-02-04T10:59:59
|
|
rename tree-specific fileindex diff callbacks
|
|
62d20534
|
2019-01-29T00:09:32
|
|
remove redundant condition check in cmp_entries()
|
|
bad322f2
|
2019-01-29T00:02:42
|
|
make cmp_entries() operate on paths instead of structs
|
|
9d2a8e53
|
2019-01-28T23:55:41
|
|
move forward declaration of diff_fileindex_tree() further down
|
|
70e2377c
|
2019-01-28T23:54:46
|
|
move definition of cmp_entries() closer to point of use
|
|
63de4136
|
2019-01-28T23:51:52
|
|
turns out in_same_subdir() check is mostly redundant
|
|
c18d206e
|
2019-01-28T23:17:39
|
|
simplify in_same_subdir()
|
|
85987309
|
2019-01-28T23:15:22
|
|
eliminate code duplication in cmp_entries() and in_same_subdir()
|
|
99fda3ad
|
2019-01-28T23:10:32
|
|
eliminate redundant strlen() call inside in_same_subdir()
|
|
5d79cba5
|
2019-01-28T23:09:27
|
|
eliminate redundant strlen() call in cmp_entries()
|
|
6e8d14a3
|
2019-01-28T23:05:12
|
|
eliminate code duplication in cmp_entries()
|
|
fd92308e
|
2019-01-28T22:59:46
|
|
invert same subdir check in cmp_entries(); no functional change
|
|
f06111e5
|
2019-01-28T22:57:56
|
|
remove unused parameter of in_same_subdir()
|
|
5d56da81
|
2019-01-13T17:15:53
|
|
happy new copyright year
|
|
21908da4
|
2019-01-13T13:59:20
|
|
fix bug where update got confused by sub-sub directories
|
|
bd4792ec
|
2019-01-13T12:56:35
|
|
fix more bugs in the update walk and add more tests
|
|
a7f9d64d
|
2019-01-13T01:52:51
|
|
change GOT_INDEX_ENTRY prefix to GOT_FILEIDX
|
|
b6d05318
|
2019-01-13T01:05:23
|
|
don't bother with memcpy for hdr in got_fileindex_read()
|
|
27d0e5bd
|
2019-01-12T23:05:44
|
|
flush the file index after writing it
|
|
a5744d71
|
2019-01-12T23:00:44
|
|
don't bother with memcpy of header when writing the file index
|
|
50952927
|
2019-01-12T21:00:42
|
|
fix various issues in new update implementation
|
|
27793341
|
2019-01-12T18:58:04
|
|
introduce special error code for a corrupt file index
|
|
8da9e5f4
|
2019-01-12T18:39:19
|
|
implement checkout+update as single-pass diff between file index and tree
|
|
7a9df742
|
2019-01-08T23:52:50
|
|
replace use of got_pathset in worktree code with RB tree
|
|
133d2798
|
2019-01-08T23:00:56
|
|
use RB tree directly instead of a pathset in file index code
|
|
6b798c3c
|
2019-01-08T22:22:53
|
|
don't forgot to free file index entries in got_fileindex_free()
|
|
b504a804
|
2019-01-08T22:18:23
|
|
switch file index entries from TAILQ to got_pathset
|
|
e1ed7f77
|
2019-01-06T13:47:14
|
|
must use safe iteration over file index entries
|
|
512f0d0e
|
2019-01-03T00:57:49
|
|
make 'got update' remove files which were deleted
|
|
3c5b70f2
|
2018-12-27T20:23:37
|
|
always NUL-terminate paths in write_fileindex_path()
|
|
60619907
|
2018-12-27T19:37:53
|
|
fix check for NUL byte in read_fileindex_path()
|
|
51514078
|
2018-12-25T16:18:05
|
|
preparation for idempotent checkout: read exisiting file index
|
|
fc76cabb
|
2018-12-25T15:24:16
|
|
store base commit of each blob in file index
|
|
3fe2daf1
|
2018-12-24T17:03:21
|
|
remove pointless memcopies from fileindex code
|
|
7426bbfd
|
2018-12-24T16:53:03
|
|
rename fileindex functions from open/close to alloc/free
|
|
9eb6a6b2
|
2018-12-24T16:48:45
|
|
fix byte-swaps in fileindex read code
|