aboutsummaryrefslogtreecommitdiff
path: root/xtask/tests
diff options
context:
space:
mode:
Diffstat (limited to 'xtask/tests')
-rw-r--r--xtask/tests/tidy.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/xtask/tests/tidy.rs b/xtask/tests/tidy.rs
index fd9645c23..02b3afc96 100644
--- a/xtask/tests/tidy.rs
+++ b/xtask/tests/tidy.rs
@@ -50,6 +50,42 @@ fn rust_files_are_tidy() {
50 tidy_docs.finish(); 50 tidy_docs.finish();
51} 51}
52 52
53#[test]
54fn check_merge_commits() {
55 let stdout = run!("git rev-list --merges --invert-grep --author 'bors\\[bot\\]' HEAD~19.."; echo = false)
56 .unwrap();
57 if !stdout.is_empty() {
58 panic!(
59 "
60Merge commits are not allowed in the history.
61
62When updating a pull-request, please rebase your feature branch
63on top of master by running `git rebase master`. If rebase fails,
64you can re-apply your changes like this:
65
66 # Abort in-progress rebase, if any.
67 $ git rebase --abort
68
69 # Make the branch point to the latest commit from master,
70 # while maintaining your local changes uncommited.
71 $ git reset --soft origin/master
72
73 # Commit all changes in a single batch.
74 $ git commit -am'My changes'
75
76 # Push the changes. We did a rebase, so we need `--force` option.
77 # `--force-with-lease` is a more safe (Rusty) version of `--force`.
78 $ git push --force-with-lease
79
80And don't fear to mess something up during a rebase -- you can
81always restore the previous state using `git ref-log`:
82
83https://github.blog/2015-06-08-how-to-undo-almost-anything-with-git/#redo-after-undo-local
84"
85 );
86 }
87}
88
53fn deny_clippy(path: &PathBuf, text: &String) { 89fn deny_clippy(path: &PathBuf, text: &String) {
54 if text.contains("[\u{61}llow(clippy") { 90 if text.contains("[\u{61}llow(clippy") {
55 panic!( 91 panic!(