Commits
- Commit:
4cc1f028ad995562d5037a1c8c54a241956d9dbb
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix use of an uninitialized stat buffer during work tree status crawl
found by naddy
ok naddy jrick
- Commit:
e600f1246e15fff13251ba9d299d74a24ae579c2
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
6e210706a4224007cf266b48c28e5a54e8279589
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
implicitly mark all files in work tree as up-to-date after 'got integrate'
Avoids having to run 'got update' for no good reason after 'got integrate'.
The same change was made recently for both rebase and histedit in
commit a615e0e7796ea1103a6e0d4b5dbb6134597886660 and we forgot about histedit.
- Commit:
60e40e9508a5c419b43c5c0d32f9a3af81546463
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
close file handles before freeing other things in got_worktree_close()
The work tree's path needs to be valid while constructing error messages.
- Commit:
e7abd6b665c4cff5b07ed20382f14cc1b5775c5c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix missing close(2) error check in got_worktree_close()
- Commit:
08578a35f60be8657db97b705f27a55ab61850c8
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make close(2) failure checks consistent; check 'close() == -1' everywhere
ok millert, naddy
- Commit:
56b63ca4ab1049de6fa2d6910ce22c16e2b42a53
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
- Commit:
a6b21eef0424b9af0a7d5dc6ade675b94dde3150
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add missing braces around multi-line if-statement in got_worktree_close()
- Commit:
a06ff56fe6d05906b4a5c515605b1196b3479d1f
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
fix a use after free()
ok jrick stsp
- Commit:
9bdd68dd5c8e79a94fa4a5a69064ba33acd0b27a
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
replace fparseln(3) with getline(3), for better portability
ok stsp
- Commit:
a615e0e7796ea1103a6e0d4b5dbb613459788666
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
implicitly mark all files in work tree as up-to-date after rebase/histedit
This should always be correct, since rebase and histedit start out with a
clean and single-base-commit worktree, and end up committing all changes
across the entire work tree when they are successful.
tested by jrick and myself
- Commit:
437adc9d5be73b4b89441362ec89de754374a5a6
- From:
- Yang Zhong <yzhong@freebsdfoundation.org>
- Date:
add fd field to got_worktree, modify got_fileindex_entry_update to use fds
These changes are intended to make got more compatible
with FreeBSD's Capsicum.
ok stsp
- Commit:
64453f7e55c4c69b6cd08229929ed8227b789ff8
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
handle binary files in got/tog diff commands; add -a options to force text
- Commit:
fe621944e83fe6367f7bff97128b4240a9cdc7c5
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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.
- Commit:
f6d8c0acbade4a4b9cc8a674270e689a800b1fb6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
63df146dfc84e000c931f34a3ec02b115fcebb49
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix missing unlink(tmppath) in error cases of install_blob()
- Commit:
2ac8aa022e2ae3e7792af5fe5a66e10b241a751f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
clear staged file type in file index entries whenever staged status is cleared
- Commit:
727173c3ab3a0b386e808d2d6bbeacd048710216
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
initialize sb.st_mode after stat(2) failure in got_worktree_resolve_path()
- Commit:
017406073fd742cc052672dd2f2689838e76df3f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
3818e3c42c1ac77dac0c571165dabfe2da05ff2b
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
convert all remaining instances of chmod(2) to fchmod(2)
ok stsp
- Commit:
62d463cac1fd99c423acb07c0367c649724a2a9a
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
indentation fixes
- Commit:
2513f20abd32eca0e2f74e92abd73629b4360258
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
plug memory leaks in error paths; found by naddy
- Commit:
20a2ad1cd21c17764d7586038148381fb41adcb9
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use got_path_dirname() in schedule_for_deletion(); avoids const dirname(3)
ok naddy
- Commit:
fddefe3be51f4f87aeffcb5b9c666a5b77672e5b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use got_path_dirname() in remove_ondisk_file(); avoids const dirname(3)
ok naddy
- Commit:
f5375317cb16274ce182ea5d99dd913de9b07390
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use got_path_dirname() in install_blob() to avoid const dirname(3)
ok naddy