Commits
- Commit:
35d2583f834a66f801dc229002d45e735882ba78
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
allow no-op merge commits to be created
Requested by James Cook
- Commit:
2b70695630ead3274d31727f6b477f3544dc9c9a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix 'got commit' using a bad parent commit ID when worktree is out-of-date
Problem reported by James Cook with reproduction scripts
Regression test case by jamsek, as a simplified version of James' scripts
fix tested + ok jamsek
- Commit:
af179be739cacd6576fdf9596ac7e61b714ee367
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
when aborting rebase/histedit/merge, unlink files added by merged changes
Otherwise we leave unversioned files behind in the work tree which may
interfere with new attempts to rebase or merge the changes again.
Problem found by + ok naddy@
- Commit:
46108e23186237cccae84d88785fd31d692ef535
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
style nits from op@, thanks!
- Commit:
31cf15ecf83c7e0bf2e99599b19f43fe2435d75a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got revert' and 'got rm' work on non-existent directories
problem found by robert@
ok jamsek, op
- Commit:
1b093d84c1f8f17f66aec3a337a121edcc6f77d9
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix rebase/histedit -a leaving some files on the temporary branch
The commands 'got rebase -a' and 'got histedit -a' were checking out
files from the wrong commit. Make them check files out from the commit
we are switching the work tree to, as intended.
Avoids spurious merge conflicts when the work tree is later used for
another rebase operation. It also makes 'got update' right after
'rebase -a' a no-op, as it should be.
Problem found by naddy@ while rebasing jca's llvm15 branch
ok op, jamsek earlier version
- Commit:
fd785a9ac70d88714b1d0533768076bcf5c9c2d2
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
update the base commit ID of unmodified files if the blob ID matches
This avoids having to run 'got update' after operations which run
checkout_files() and where a file happens to have the same blob ID
but its base commit differs from the commit we are updating to.
Found while investigating a bug report by naddy@
ok op, jamsek (earlier version)
- Commit:
07fa936579660934e2b84e747df1d21810278e11
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
handle files changing into directories during 'got update'
problem found by naddy@
- Commit:
9a298e5c10f6c68afbaca853454de2787a312c81
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
support histedit fold operations which delete a file and then add it again
problem found by naddy@
ok op@
- Commit:
53bf0b541977b66862040d4b633fb6b5d3a3c6c8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
rename lib/sha1.c to lib/hash.c
It will soon grow functions to deal with sha256 too. stsp@ agrees.
- Commit:
5822e79e39a8777984e08b5d89a8c55d6aa0356d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
include sha2.h too where sha1.h is included
In preparation for wide sha256 support; stsp@ agrees. Change done
mechanically with
find . -iname \*.[cy] -exec sam {} +
X ,x/<sha1\.h>/i/\n#include <sha2.h>
- Commit:
45e6b2f427b11e0fc760c10ee96eae3a6a5f06e7
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
use newly publicised diff_chunk_type() diff API
To skip chunks without newly added lines.
ok stsp@
- Commit:
249b637c505366856603a932c859a0baf1973d10
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
have ignore patterns with trailing slashes match directories only
ok jamsek
- Commit:
2262237761cd6c8c89a4d4263a8d9c05a7a81d70
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
zap no longer needed forward declaration spotted by stsp@
- Commit:
7783f73c4beef7010e3332dee7f94dad9a54109f
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
use chunk offset to efficiently detect conflict markers
Rather than skip lines, use the new diff APIs to directly seek to each
chunk with newly added lines for more efficient conflict marker detection.
ok stsp@
- Commit:
d952957db624ae4f22a8bf310c4ab918f3a9dbd3
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
optimise parsing of modified files for conflict markers
As per stsp's original design for detecting new conflicts, rather than produce
a diff formatted for human consumption, parse the raw diff result to scan only
newly added lines for conflict markers. While here, fix a couple related bugs
in the original implementation: (1) rewind the versioned file blob so we don't
end up with an empty "from" (i.e., LHS of the diff) file; and (2) force an
ASCII text diff for so we don't miss conflicts in binary files.
ok stsp@
- Commit:
123836732402b1204e5be68f98a69084285c316d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
add ci/he/mg/rb -C option to commit unresolved conflicts
As per stsp's suggestion and building on his initial diff, add the -C option
to enable creating commits with unresolved conflicts to the commit, histedit,
merge, and rebase commands to allow continuing the operation despite files in
conflict status. Also, only search for conflict markers in newly added lines
to enable working with files already under version control that may have
conflict markers embedded verbatim.
lots of tweaks, improvements, and initial diff + ok stsp@
- Commit:
2c4740ad12b787db8704cb160abc4f1e5e73d911
- From:
- Mikhail <mp39590@gmail.com>
- Via:
- Mark Jamsek <mark@jamsek.dev>
- Date:
style(9): function call in initialiser patch by Mikhail
- Commit:
b4b2adf52ba9b7ad15eb9423cbc20034cdacbbbf
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add functions to extract object ids from fileindex entries
ok stsp
- Commit:
b0a0c9eda4b7f60ae432f321389f9c344b6c0fc2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move comment
it describes bump_base_commit_id_everywhere, not its per-entry callback
bump_base_commit_id.
- Commit:
ef85a376d8f41068fa9c6b11bc1fff98e3e9520c
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
zap unused parameter in got_worktree_rebase_complete()
ok stsp@
- Commit:
c48f94a406682029fa132ede24321b2622641970
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix histedit -m on a commit which only changes filemode bits
The commit was being miscategorized as a no-op change and dropped.
Now the commit is retained and its log message is updated as expected.
ok op, jamsek
- Commit:
9587e6cc5169e6d39431fd1066097fd3f04e5d51
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: load editor with backout/cherrypick commit log messages
Create new logmsg references used to populate the editor with the log messages
of backed-out and cherrypicked commits when 'got commit' is run. We use
versioned path state heuristics during revert and commit commands in an effort
to ensure the editor is only populated with the log messages of backed-out
and/or cherrypicked commits involving paths with local changes that are being
committed. This is an implementation of an initial idea and algorithm designed
by stsp.
inputs, improvments and ok stsp@
- Commit:
1f3405c91dec0b4eb48df5156751b5ef6add3f37
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
refactor got log -d and tog diffstat to compute diff once
This eliminates the previous performance cost by making 'got log -d' and tog
diff view compute the diffstat while building the diff in a temp file like we
do with 'got diff -d'. Also, keep the current 'got log -d' UI as per stsp's
suggestion.
ok stsp@
- Commit:
910d235d362fb7951e997ce08e3dfb4b8cb24c5d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
typo: pass rejectfile--not outfile--to got_ferror()
ok stsp@