cli/test: Fix failures related to remote HEAD
Two tests assumed that `refs/remotes/rad/HEAD` would automatically be crated. It turns out, however, that this only the case if executed with Git 2.48.0 or newer. Git versions older than 2.48.0 do not touch 'refs/remotes/<remote>/HEAD'. Git 2.48.0 and newer will update `refs/remotes/<remote>/HEAD` by default. This can be disabled by setting `remote.<remote>.followRemoteHEAD` to "never". Thus, with these versions, setting that configuration to "never" emulates the behaviour of older versions. Therefore, to ensure that test results are consistent across Git versions before and after 2.48.0, the fixture of test repositories now include setting 'remote.rad.followRemoteHEAD = never'. The affected tests are adjusted accordingly. This change can possibly be reverted once Radicle requires usage of Git 2.48.0 or newer. Co-authored-by: Lorenz Leutgeb <lorenz.leutgeb@radicle.xyz>
This commit is contained in:
parent
6ce2d00be2
commit
354805aeb3
|
|
@ -22,7 +22,6 @@ $ git branch -r
|
||||||
$ git pull
|
$ git pull
|
||||||
Already up to date.
|
Already up to date.
|
||||||
$ git branch -r
|
$ git branch -r
|
||||||
rad/HEAD -> rad/master
|
|
||||||
rad/master
|
rad/master
|
||||||
rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb
|
rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ And let's look at our local and remote refs:
|
||||||
$ git show-ref
|
$ git show-ref
|
||||||
42d894a83c9c356552a57af09ccdbd5587a99045 refs/heads/feature/1
|
42d894a83c9c356552a57af09ccdbd5587a99045 refs/heads/feature/1
|
||||||
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
|
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
|
||||||
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/HEAD
|
|
||||||
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/master
|
f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/master
|
||||||
42d894a83c9c356552a57af09ccdbd5587a99045 refs/remotes/rad/patches/6035d2f582afbe01ff23ea87528ae523d76875b6
|
42d894a83c9c356552a57af09ccdbd5587a99045 refs/remotes/rad/patches/6035d2f582afbe01ff23ea87528ae523d76875b6
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,17 @@ fn repository_with<P: AsRef<Path>>(
|
||||||
let mut config = repo.config().unwrap();
|
let mut config = repo.config().unwrap();
|
||||||
config.set_str("user.name", USER_NAME).unwrap();
|
config.set_str("user.name", USER_NAME).unwrap();
|
||||||
config.set_str("user.email", USER_EMAIL).unwrap();
|
config.set_str("user.email", USER_EMAIL).unwrap();
|
||||||
|
|
||||||
|
// In Git 2.48.0, the option `remote.<name>.followRemoteHEAD` was added.
|
||||||
|
// Git versions older than 2.48.0 behave as if this option is set to
|
||||||
|
// `never`.
|
||||||
|
// We set it explicitly here for testing purposes, for consistent output
|
||||||
|
// of commands like `git branch -r` and `git show-ref`.
|
||||||
|
// Once Radicle requires Git 2.48.0 or newer, we can remove this
|
||||||
|
// (and adjust our tests to the new default behavior, creating `HEAD`).
|
||||||
|
config
|
||||||
|
.set_str("remote.rad.followRemoteHEAD", "never")
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
let sig = git::raw::Signature::new(
|
let sig = git::raw::Signature::new(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue