|
fdf3c2d3
|
2021-06-17T09:01:05
|
|
use Patience diff for merging during cherrypick/backout/histedit/rebase
This has been shown to prevent mis-merges in some cases. It's probably
not a final solution. We should look at what Git's "recursive merge"
is doing and implement something similar.
Keep using Myers during update/unstage. The advantage of Myers is that
it produces smaller conflict chunks, and there are no known cases of
mis-merges which affect update/unstage.
|
|
db590691
|
2021-06-02T09:24:51
|
|
make merge_file() accept FILEs instead of paths for orig and deriv inputs
|
|
1fee9f40
|
2021-04-13T08:28:24
|
|
fix 3-way merge of files which lack a final \n
problem found by jrick
ok millert
|
|
bc62ede8
|
2021-02-26T17:31:35
|
|
use Myers diff instead of Patience diff when merging files with diff3
Myers diff tends to divide files into smaller diff chunks, while Patience
diff attemps to maximize the size of diff chunks. Smaller diffs chunks
generally result in a more managable presentation of merge conflicts.
|
|
56b63ca4
|
2021-01-22T11:04:47
|
|
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
|
|
16aeacf7
|
2020-11-26T12:54:19
|
|
use size_t for loop indices to avoid signedness warnings; from emaste@freebsd
|
|
1cb46f00
|
2020-11-21T15:34:19
|
|
consistently label removed files as "/dev/null" in diff headers
|
|
64453f7e
|
2020-11-21T13:35:00
|
|
handle binary files in got/tog diff commands; add -a options to force text
|
|
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.
|
|
21c17f12
|
2020-06-26T07:09:35
|
|
fix merging with files that do not contain a newline character; ok millert@
|
|
bb63914a
|
2020-02-17T21:57:56
|
|
make tmp dir location a compile-time setting and change gotweb's tmp dir
We are not sure whether a gotweb package can own /var/www/tmp on OpenBSD.
Moving gotweb's tmp dir to /var/www/got/tmp sidesteps that issue.
|
|
937e0e58
|
2019-10-21T10:53:42
|
|
fix build on sparc64 (uninitialized variable)
|
|
f69721c3
|
2019-10-21T09:04:57
|
|
show base commit hash and omit filenames in conflict markers
|
|
d136cfcb
|
2019-10-12T07:33:12
|
|
show original file content in conflict markers
|
|
d59c0cb2
|
2019-10-09T08:55:19
|
|
improve use of mixed size_t/off_t types in diff3.c's edscript()
|
|
b2338eff
|
2019-10-09T08:45:51
|
|
diff3.c: do not use the same variables for both line numbers and byte offsets
|
|
88775814
|
2019-10-09T08:30:54
|
|
diff3.c's skip() returns number of bytes skipped so switch from int to size_t
|
|
96cbb597
|
2019-10-09T08:24:38
|
|
remove worklist code; it was only used to unlink files which we already unlink
|
|
68bda3b1
|
2019-10-09T08:20:05
|
|
diff3.c: check for unlink errors and unlink dp13 and dp23 again
|
|
9688d20a
|
2019-10-09T08:02:04
|
|
rename local variable in diff3.c's edscript() from j to len (not a loop index)
|
|
9d4a5e89
|
2019-10-09T07:57:27
|
|
rename local variable in diff3.c's skip() from j to len (not a loop index)
|
|
db330080
|
2019-10-09T07:45:59
|
|
remove pointless attempt of unlinking temporary file name template paths
|
|
e4531130
|
2019-10-09T07:35:37
|
|
do not leak open file in diff3.c's readin() error paths
|
|
971405a7
|
2019-10-09T07:32:03
|
|
do not abuse d3s->fp[0] as a local variable in diff3.c's readin()
|
|
50351dee
|
2019-10-09T07:26:28
|
|
remove unused 'pr' argument from diff3.c's skip() function
|
|
575e8218
|
2019-10-07T10:26:33
|
|
more mechanical conversions to struct got_error: buf_load() and buf_alloc()
|
|
e19660d5
|
2019-10-06T18:59:31
|
|
some whitespace fixes in diff3.c
|
|
346b301a
|
2019-10-06T18:51:41
|
|
check for errors from buf_append() in diff3.c's diff_output()
|
|
950435fd
|
2019-10-06T18:48:11
|
|
remove pointless debug code from diff3.c
|
|
18b9ebab
|
2019-10-06T18:44:35
|
|
eflag in diff3.c is hard-coded to 3; remove code for other cases
|
|
e9dabdfb
|
2019-10-06T18:23:02
|
|
check for errors from fseek(3) in diff3.c's edscript()
|
|
ce09ab8d
|
2019-10-06T18:20:02
|
|
check for errors from diff_output() in diff3.c
|
|
02b87977
|
2019-10-06T18:11:34
|
|
convert remaining functions in diff3.c to struct got_error
|
|
f571bb85
|
2019-10-06T17:36:20
|
|
convert error handling in diff3.c's repos() to struct got_error
|
|
180dce26
|
2019-10-06T17:09:32
|
|
convert handling in diff3.c's merge() function to struct got_error
|
|
500467ff
|
2019-09-25T22:02:03
|
|
getline: fix the return type to ssize_t and small nits
|
|
b077bccd
|
2019-09-22T19:03:17
|
|
remove pointless oflag from struct diff3_state
|
|
6dea73df
|
2019-09-22T22:47:16
|
|
Replace fgetln() with getline()
getline() is, per the latter's OpenBSD man page, safer and more
portable than fgetln().
|
|
acb4e1d1
|
2019-08-10T18:43:09
|
|
sync merge(1) fix diff from OpenRCS/OpenCVS
|
|
d473b4e4
|
2019-08-10T00:49:10
|
|
fix merge bug inherited from OpenRCS, affecting lines with leading .
|
|
638f9024
|
2019-05-13T12:40:57
|
|
rename got_error_prefix_errno() to got_error_from_errno()
|
|
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)
|
|
01a44956
|
2019-03-27T08:36:44
|
|
declare conflict marker strings in got_lib_diff.h
|
|
fb43ecf1
|
2019-02-11T11:59:09
|
|
check for errors from fclose()
|
|
cbe7f848
|
2019-02-11T11:35:55
|
|
check for fflush() errors
|
|
57ee5d50
|
2019-02-08T15:10:49
|
|
allow callers of diff3 code to detect merge conflicts
|
|
a551f215
|
2019-02-08T14:58:30
|
|
diff3: make labels work and fix leaks
|
|
5d731149
|
2019-02-08T13:22:01
|
|
initialize temp_files in got_merge_diff3()
|
|
abc6a33f
|
2019-02-08T13:20:08
|
|
make readin() actually write to its output argument
|
|
25d0340b
|
2019-02-08T12:27:42
|
|
get rid of an unused global in diff3 code
|
|
5176f942
|
2019-02-08T12:26:49
|
|
get rid of another global in diff3 code (diff output buffer)
|
|
5a3ad9e0
|
2019-02-08T12:06:59
|
|
wrap overlong long line and fix NULL-deref in merge_diff3()
|
|
62f59172
|
2019-02-08T12:01:51
|
|
make diff3_merge() write result to an output file
|
|
0ec6f014
|
2019-02-08T11:58:03
|
|
expand stupid argv-style parameters of merge_diff3()
|
|
b90524b1
|
2019-02-08T11:55:19
|
|
check for errors from increase() in diff3 code
|
|
dfc4f8fe
|
2019-02-08T11:51:52
|
|
move more globals into diff state struct
|
|
0d26ce36
|
2019-02-08T11:48:50
|
|
fix known file descriptor leaks in diff3 code
|
|
078e971d
|
2019-02-08T11:44:53
|
|
this is library code; store diff3 state in a struct, not globals
|
|
c03c6cb3
|
2019-02-08T11:13:38
|
|
make diff3 code compile
|
|
9f98de9c
|
2019-02-08T12:09:28
|
|
declare got_merge_diff3()
|
|
74b37681
|
2019-02-07T11:30:27
|
|
add unmodified buf.c, buf.h, and diff3.c from OpenRCS
|