Commits
- Commit:
8642913bb1bf2956d44d201e77b88c2b67b7c44d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
regress: nix 'set -A' kshism from tests
As reported by naddy, this is a non-portable Korn shell construct.
Instead, use the one argument array then make faux space-delimited string
"arrays" for the other ids; they can still be indexed with pop_idx.
improved by + ok naddy@
- Commit:
fb8851205d3a6b7f0c457b2091c3b335d0f7e4e3
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
expand support for commit keywords to more got commands
Add the ability to use keywords in the backout, branch, checkout, cherrypick,
and patch commands. Includes some basic regress tests for the new commands,
and also some more contrived test cases for 'got log -c[:]keyword[:(+|-)[N]]'.
ok stsp
- Commit:
8d6e02ca3fa611d074d94e362086f8dff48b8f3d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
regress: make cmdline tests sh compatible
Ensure shell scripts can run under more POSIX-restricted shells.
OK op@
- Commit:
e6f45b7279f2ab31024ae32f7ad28148bf80bee7
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
regress: replace unportable ln -h option with rm && ln
ok stsp
- Commit:
117f997e6fe54136bfe028caf8038560a071451c
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
update backout/cherrypick regress for worktree UUID output
ok stsp@
- Commit:
f35e52a986659efbb797f46df9798c4ad4f36381
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
show worktree UUID in backout/cherrypick -l output
When run from the repository, display the UUID to help the user know which
logmsg refs belong to which work tree. Also, use "backout" or "cherrypick"
in the log message header to distinguish output from 'got log'.
Suggested by stsp on irc.
ok stsp@
- Commit:
46f87436943043a275185ab51e86b849d9f27229
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
uppercase cherrypick/backout -X progress output
ok jamsek
- Commit:
7c82d1d5588eee8ccc87b8258d5aa8d59f460a68
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
regress for new backout/cherrypick logmsg references
Tests only cover the -lX interface to list and delete logmsg refs created
by previous backout and cherrypick operations. Further tests are needed
for revert and commit coverage to ensure that the correct log messages of
bo/cy commits are loaded into the editor when 'got commit' is run, and that
only the refs used to populate the editor for the new commit are deleted.
Potential printf issues observed by op remain in the diff; noted here as a
reminder to do a sweep at some point in the future as there are other such
instances in cherrypick.sh and possibly elsewhere in regress.
Reviewed as part of previous commit introducing logmsg ref support for
backed-out/cherrypicked commits.
ok stsp@
- Commit:
a2c162ebaea11f9bd1d46c4cdf5b8f488ebaf58f
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
respect umask when creating or changing files and directories
This behaviour is already documented in got-worktree(5) but wasn't
actually implemented.
ok stsp@
- Commit:
bf3ab20628c2f092c3ddea4787a49621986abd07
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix regression test failures with Git 3.30.5 / 2.38.1 or later installed
The fix for CVE-2022-39253 in Git made our regression tests fail since
creating submodules from local clones is no longer allowed by default.
Add an override to our invocations of "git submodule add", the same
which was added to Git's regression test suite as part of their fix.
This CVE doesn't otherwise affect us. We do not implement submodules.
Our use of them in regression tests exists only to ensure that Got does not
freak out when it sees one. Precisely because automated support for nested
repositories and/or working copies (as in Git Submodules, or Subversion
Externals, etc.) have been an endless source of security problems in
other systems.
sudden test failures pointed out by naddy@
- Commit:
b6b86fd1b9828e38d59915e62fddce62952b8b75
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
remove trailing whitespace; patch by Josiah Frentsos
- Commit:
9b4458b41088db703d890881c32dfd242efce4df
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
always show commit or tree IDs in diff header, in order to help 'got patch'
The idea is that got patch can simply look for a line such as:
commit - abcde1234567...
to find the merge base commit ID to show in diff3 conflict markers.
got log -p now displays commit IDs in its diff header, instead ofl
tree or blob IDs.
ok op@
- Commit:
2185070209cdb8294a76bf6bc8695326dd4701fc
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
set `ret' in a few places where it was forgotten; ok tracey@
- Commit:
4e2bdb0dade94492580e4fbce20d9717bccc4e61
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
don't pass $ret to test_done on failure when it's known to be zero
Otherwise the test directory it's not left in place; ok tracey@
- Commit:
fc414659b454e49203f7ba02fb9866da42ffb4d0
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
use test(1) -eq and -ne to compare integers, and reduce quoting
This brings the rest of the regression test scripts in line with
patch.sh.
- Commit:
ae6fe0f7756c9c1648663b5cf027c35a4ea98774
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
simpler fix equivalent to the previous commit
- Commit:
63625b3caaa100fc5a72577d70b84866c205e5d7
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make test_cherrypick_root_commit pass with GOT_TEST_PACK=1
- Commit:
3a76741959b24e02b76fdd973c68b782d2f4510d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
regress: make test operands POSIX compliant
Since the interpreter for the regress shell scripts are using /bin/sh
this will usually imply some level of POSIX compliance (that isn't
bash-specific, for instance).
Some systems use dash as their sh shell and as such is stricter POSIX
compliance. To help -portable, make the shell test checks use a single
'=' for equality, rather than '=='.
- Commit:
24f136e0f955e179395f9d081b45fbea32f02325
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
preverse binary files during updates and merges
- Commit:
461f6aedbd48fa1a352a579c70013ff02d50a6c5
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix merging of files which contain a dot on a line by itself
Annoying bug which we inherited from OpenRCS which inherited
it from OpenBSD's diff3 program.
ok tracey millert
- Commit:
dc2a05aa2111fe14be0f0c3e025337dc9340b111
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add an xfail test for a bug in merging content with a dot on a line by itself
- Commit:
0ef688596bd8c81c1cf6abdee7aedc07e1cbcbbc
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
print additional stats about things that went wrong during a merge
- Commit:
ace90326f82adffc32a25213124922899e849771
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
allow bad symlinks to survive a merge
Commands which perform merges will now install bad symlinks as symlinks
in the work tree, instead of creating them as regular files. This means
bad symlinks committed with 'got commit -S' (or Git) will be preserved.
The decision to introduce a bad symlink is done at commit-time and
merges should not forcefully reverse this decision.
The cherrypick and backout commands require a manual commit step, and
a merge result with bad symlinks will require use of 'got commit -S'.
Additional testing by thomas adam
- Commit:
dd6165e49c3235f6e7c8bf7e2c1f9635009f08a4
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas.adam@smoothwall.net>
- Date:
regress: fix test failures using ln(1)
GNU ln uses -T instead of -h for no-target-directory.
OK thomas.adam
- Commit:
0baddd91502bcd7aca9f72f5ded3609326c953cf
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add test which covers a cherrypick merge from a branch to itself