diff options
author | Vincent Ambo <mail@tazj.in> | 2021-09-21T10·03+0300 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-09-21T11·29+0300 |
commit | 43b1791ec601732ac31195df96781a848360a9ac (patch) | |
tree | daae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t3436-rebase-more-options.sh | |
parent | 2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff) |
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping it in sync with cgit would be easier this way, but it has proven not to be a big issue. On the other hand, a vendored copy of git is an annoying maintenance burden. It is much easier to rebase the single (dottime) patch that we have. This removes the vendored copy of git and instead passes the git source code to cgit via `pkgs.srcOnly`, which includes the applied patch so that cgit can continue rendering dottime. Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/t3436-rebase-more-options.sh')
-rwxr-xr-x | third_party/git/t/t3436-rebase-more-options.sh | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/third_party/git/t/t3436-rebase-more-options.sh b/third_party/git/t/t3436-rebase-more-options.sh deleted file mode 100755 index eaaf4c8d1d8c..000000000000 --- a/third_party/git/t/t3436-rebase-more-options.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2019 Rohit Ashiwal -# - -test_description='tests to ensure compatibility between am and interactive backends' - -. ./test-lib.sh - -. "$TEST_DIRECTORY"/lib-rebase.sh - -GIT_AUTHOR_DATE="1999-04-02T08:03:20+05:30" -export GIT_AUTHOR_DATE - -# This is a special case in which both am and interactive backends -# provide the same output. It was done intentionally because -# both the backends fall short of optimal behaviour. -test_expect_success 'setup' ' - git checkout -b topic && - test_write_lines "line 1" " line 2" "line 3" >file && - git add file && - git commit -m "add file" && - - test_write_lines "line 1" "new line 2" "line 3" >file && - git commit -am "update file" && - git tag side && - test_commit commit1 foo foo1 && - test_commit commit2 foo foo2 && - test_commit commit3 foo foo3 && - - git checkout --orphan master && - rm foo && - test_write_lines "line 1" " line 2" "line 3" >file && - git commit -am "add file" && - git tag main && - - mkdir test-bin && - write_script test-bin/git-merge-test <<-\EOF - exec git merge-recursive "$@" - EOF -' - -test_expect_success '--ignore-whitespace works with apply backend' ' - test_must_fail git rebase --apply main side && - git rebase --abort && - git rebase --apply --ignore-whitespace main side && - git diff --exit-code side -' - -test_expect_success '--ignore-whitespace works with merge backend' ' - test_must_fail git rebase --merge main side && - git rebase --abort && - git rebase --merge --ignore-whitespace main side && - git diff --exit-code side -' - -test_expect_success '--ignore-whitespace is remembered when continuing' ' - ( - set_fake_editor && - FAKE_LINES="break 1" git rebase -i --ignore-whitespace \ - main side && - git rebase --continue - ) && - git diff --exit-code side -' - -test_ctime_is_atime () { - git log $1 --format="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> %ai" >authortime && - git log $1 --format="%cn <%ce> %ci" >committertime && - test_cmp authortime committertime -} - -test_expect_success '--committer-date-is-author-date works with apply backend' ' - GIT_AUTHOR_DATE="@1234 +0300" git commit --amend --reset-author && - git rebase --apply --committer-date-is-author-date HEAD^ && - test_ctime_is_atime -1 -' - -test_expect_success '--committer-date-is-author-date works with merge backend' ' - GIT_AUTHOR_DATE="@1234 +0300" git commit --amend --reset-author && - git rebase -m --committer-date-is-author-date HEAD^ && - test_ctime_is_atime -1 -' - -test_expect_success '--committer-date-is-author-date works with rebase -r' ' - git checkout side && - GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 && - git rebase -r --root --committer-date-is-author-date && - test_ctime_is_atime -' - -test_expect_success '--committer-date-is-author-date works when forking merge' ' - git checkout side && - GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 && - PATH="./test-bin:$PATH" git rebase -r --root --strategy=test \ - --committer-date-is-author-date && - test_ctime_is_atime -' - -test_expect_success '--committer-date-is-author-date works when committing conflict resolution' ' - git checkout commit2 && - GIT_AUTHOR_DATE="@1980 +0000" git commit --amend --only --reset-author && - test_must_fail git rebase -m --committer-date-is-author-date \ - --onto HEAD^^ HEAD^ && - echo resolved > foo && - git add foo && - git rebase --continue && - test_ctime_is_atime -1 -' - -# Checking for +0000 in the author date is sufficient since the -# default timezone is UTC but the timezone used while committing is -# +0530. The inverted logic in the grep is necessary to check all the -# author dates in the file. -test_atime_is_ignored () { - git log $1 --format=%ai >authortime && - ! grep -v +0000 authortime -} - -test_expect_success '--reset-author-date works with apply backend' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --apply --reset-author-date HEAD^ && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works with merge backend' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --reset-author-date -m HEAD^ && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works after conflict resolution' ' - test_must_fail git rebase --reset-author-date -m \ - --onto commit2^^ commit2^ commit2 && - echo resolved >foo && - git add foo && - git rebase --continue && - test_atime_is_ignored -1 -' - -test_expect_success '--reset-author-date works with rebase -r' ' - git checkout side && - git merge --no-ff commit3 && - git rebase -r --root --reset-author-date && - test_atime_is_ignored -' - -test_expect_success '--reset-author-date with --committer-date-is-author-date works' ' - test_must_fail git rebase -m --committer-date-is-author-date \ - --reset-author-date --onto commit2^^ commit2^ commit3 && - git checkout --theirs foo && - git add foo && - git rebase --continue && - test_ctime_is_atime -2 && - test_atime_is_ignored -2 -' - -test_expect_success '--reset-author-date --committer-date-is-author-date works when forking merge' ' - GIT_SEQUENCE_EDITOR="echo \"merge -C $(git rev-parse HEAD) commit3\">" \ - PATH="./test-bin:$PATH" git rebase -i --strategy=test \ - --reset-author-date \ - --committer-date-is-author-date side side && - test_ctime_is_atime -1 && - test_atime_is_ignored -1 - ' - -test_expect_success '--ignore-date is an alias for --reset-author-date' ' - git commit --amend --date="$GIT_AUTHOR_DATE" && - git rebase --apply --ignore-date HEAD^ && - git commit --allow-empty -m empty --date="$GIT_AUTHOR_DATE" && - git rebase -m --ignore-date HEAD^ && - test_atime_is_ignored -2 -' - -# This must be the last test in this file -test_expect_success '$EDITOR and friends are unchanged' ' - test_editor_unchanged -' - -test_done |