1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

stop using snapshots

This commit is contained in:
CI
2020-10-06 09:23:09 +11:00
committed by Jesse Duffield
parent ae352a5d8c
commit a9049b4a82
282 changed files with 575 additions and 533 deletions

7
.gitignore vendored
View File

@ -26,5 +26,8 @@ lazygit
!.github/
test/git_server/data
test/integration_test/
test/integration_test_config/
test/integration/*/actual/
test/integration/*/used_config/
# these sample hooks waste too space space
test/integration/*/expected/.git_keep/hooks/
!.git_keep/

View File

@ -76,7 +76,7 @@ func CopyFile(src, dst string) (err error) {
}
// CopyDir recursively copies a directory tree, attempting to preserve permissions.
// Source directory must exist, destination directory must *not* exist.
// Source directory must exist. If destination already exists we'll clobber it.
// Symlinks are ignored and skipped.
func CopyDir(src string, dst string) (err error) {
src = filepath.Clean(src)
@ -95,7 +95,10 @@ func CopyDir(src string, dst string) (err error) {
return
}
if err == nil {
return fmt.Errorf("destination already exists")
// it exists so let's remove it
if err := os.RemoveAll(dst); err != nil {
return err
}
}
err = os.MkdirAll(dst, si.Mode())

View File

@ -81,13 +81,45 @@ func tests() []integrationTest {
}
}
func generateSnapshot(t *testing.T, actualDir string) string {
func generateSnapshot(t *testing.T, dir string) string {
osCommand := oscommands.NewDummyOSCommand()
cmd := fmt.Sprintf(`bash -c "cd %s && git status; cat ./*; git log --pretty=%%B -p"`, actualDir)
// need to copy from current directory to
_, err := os.Stat(filepath.Join(dir, ".git"))
if err != nil {
return "git directory not found"
}
snapshot := ""
statusCmd := fmt.Sprintf(`git -C %s status`, dir)
statusCmdOutput, err := osCommand.RunCommandWithOutput(statusCmd)
assert.NoError(t, err)
snapshot += statusCmdOutput + "\n"
logCmd := fmt.Sprintf(`git -C %s log --pretty=%%B -p -1`, dir)
logCmdOutput, err := osCommand.RunCommandWithOutput(logCmd)
assert.NoError(t, err)
snapshot += logCmdOutput + "\n"
err = filepath.Walk(dir, func(path string, f os.FileInfo, err error) error {
assert.NoError(t, err)
if f.IsDir() {
if f.Name() == ".git" {
return filepath.SkipDir
}
return nil
}
bytes, err := ioutil.ReadFile(path)
assert.NoError(t, err)
snapshot += string(bytes) + "\n"
return nil
})
snapshot, err := osCommand.RunCommandWithOutput(cmd)
assert.NoError(t, err)
return snapshot
@ -160,23 +192,46 @@ func Test(t *testing.T) {
testPath := filepath.Join(rootDir, "test", "integration", test.name)
actualDir := filepath.Join(testPath, "actual")
expectedDir := filepath.Join(testPath, "expected")
t.Logf("testPath: %s, actualDir: %s, expectedDir: %s", testPath, actualDir, expectedDir)
findOrCreateDir(testPath)
prepareIntegrationTestDir(testPath)
prepareIntegrationTestDir(actualDir)
err := createFixture(rootDir, test.fixture, actualDir)
assert.NoError(t, err)
runLazygit(t, testPath, rootDir, record, speed)
actual := generateSnapshot(t, actualDir)
if updateSnapshots {
err = oscommands.CopyDir(actualDir, expectedDir)
assert.NoError(t, err)
}
expected := generateSnapshot(t, expectedDir)
actual := generateSnapshot(t, actualDir)
expected := ""
func() {
// git refuses to track .git folders in subdirectories so we need to rename it
// to git_keep after running a test
defer func() {
err = os.Rename(
filepath.Join(expectedDir, ".git"),
filepath.Join(expectedDir, ".git_keep"),
)
assert.NoError(t, err)
}()
// ignoring this error because we might not have a .git_keep file here yet.
_ = os.Rename(
filepath.Join(expectedDir, ".git_keep"),
filepath.Join(expectedDir, ".git"),
)
expected = generateSnapshot(t, expectedDir)
}()
if expected == actual {
t.Logf("%s: success at speed %d\n", test.name, speed)
@ -268,7 +323,7 @@ func runLazygit(t *testing.T, testPath string, rootDir string, record bool, spee
}
// if we're on CI we'll need to use a PTY. We can work that out by seeing if the 'TERM' env is defined.
if runInParallel() {
if runInPTY() {
cmd.Env = append(cmd.Env, "TERM=xterm")
f, err := pty.StartWithSize(cmd, &pty.Winsize{Rows: 100, Cols: 100})
@ -286,17 +341,19 @@ func runLazygit(t *testing.T, testPath string, rootDir string, record bool, spee
}
func runInParallel() bool {
return os.Getenv("PARALLEL") != "" || os.Getenv("TERM") == ""
return os.Getenv("PARALLEL") != ""
}
func prepareIntegrationTestDir(testPath string) {
path := filepath.Join(testPath, "actual")
func runInPTY() bool {
return runInParallel() || os.Getenv("TERM") == ""
}
func prepareIntegrationTestDir(actualDir string) {
// remove contents of integration test directory
dir, err := ioutil.ReadDir(path)
dir, err := ioutil.ReadDir(actualDir)
if err != nil {
if os.IsNotExist(err) {
err = os.Mkdir(path, 0777)
err = os.Mkdir(actualDir, 0777)
if err != nil {
panic(err)
}
@ -305,6 +362,6 @@ func prepareIntegrationTestDir(testPath string) {
}
}
for _, d := range dir {
os.RemoveAll(filepath.Join(path, d.Name()))
os.RemoveAll(filepath.Join(actualDir, d.Name()))
}
}

View File

@ -0,0 +1 @@
my commit

View File

@ -0,0 +1 @@
ref: refs/heads/master

View File

@ -0,0 +1,10 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[user]
email = CI@example.com
name = CI

View File

@ -0,0 +1 @@
Unnamed repository; edit this file 'description' to name the repository.

Binary file not shown.

View File

@ -0,0 +1,7 @@
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store

View File

@ -0,0 +1,5 @@
0000000000000000000000000000000000000000 f4473317f8385f84b8054f3e9e9895870aa339bb CI <CI@example.com> 1601981250 +1100 commit (initial): myfile1
f4473317f8385f84b8054f3e9e9895870aa339bb 60100545975af038486a0265a786b78c090faa4c CI <CI@example.com> 1601981250 +1100 commit: myfile2
60100545975af038486a0265a786b78c090faa4c 7c8c3a30f773b8d25cf9b5f5eccfe1b4cf823069 CI <CI@example.com> 1601981250 +1100 commit: myfile3
7c8c3a30f773b8d25cf9b5f5eccfe1b4cf823069 dcb4d7ccb176a17a6ddc2e1a402a28f055947393 CI <CI@example.com> 1601981250 +1100 commit: myfile4
dcb4d7ccb176a17a6ddc2e1a402a28f055947393 459260de735f85c64517eef30e6a2d2236f3f920 CI <CI@example.com> 1601981254 +1100 commit: my commit

View File

@ -0,0 +1,5 @@
0000000000000000000000000000000000000000 f4473317f8385f84b8054f3e9e9895870aa339bb CI <CI@example.com> 1601981250 +1100 commit (initial): myfile1
f4473317f8385f84b8054f3e9e9895870aa339bb 60100545975af038486a0265a786b78c090faa4c CI <CI@example.com> 1601981250 +1100 commit: myfile2
60100545975af038486a0265a786b78c090faa4c 7c8c3a30f773b8d25cf9b5f5eccfe1b4cf823069 CI <CI@example.com> 1601981250 +1100 commit: myfile3
7c8c3a30f773b8d25cf9b5f5eccfe1b4cf823069 dcb4d7ccb176a17a6ddc2e1a402a28f055947393 CI <CI@example.com> 1601981250 +1100 commit: myfile4
dcb4d7ccb176a17a6ddc2e1a402a28f055947393 459260de735f85c64517eef30e6a2d2236f3f920 CI <CI@example.com> 1601981254 +1100 commit: my commit

View File

@ -0,0 +1,2 @@
x<01><>M
<EFBFBD>0@a<>9E<39><45><EFBFBD>d<EFBFBD>7 "t<>c$<24> <16>-%<25><><EFBFBD><1E><><EFBFBD>[<5B>imm<6D>ٟ<>.bK"<22>%<25><><<3C>(G<><47>Z#<23><>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD>c4[<5B><>խz<D5AD><7A>0i<30>4<><34>!x%a<><61>!'(<28><>k5<6B><35><1F>n<EFBFBD><6E>^<5E><>.<2E>Ҷ<EFBFBD>\<5C><><EFBFBD>,F@<40><><02>3"<22>9<EFBFBD>1<EFBFBD><31>On<4F>W<EFBFBD><57>8<EFBFBD>v<>9w

View File

@ -0,0 +1,2 @@
x<01><>M
<EFBFBD>0F]<5D><14> 2<><32>M@D<><44>ǘN3X0<58><30>z{sW<<1E>O<EFBFBD>Z<EFBFBD>f1<66>S;J<>Ì<EFBFBD> E\<5C>;<3B><><EFBFBD>*/<2F><>@hv8H<38>+<2B><>|<7C>W<EFBFBD> <20><>S`G<>"<22>'<27>s"<22> <0C><><EFBFBD><EFBFBD><EFBFBD>=<3D>Î<EFBFBD><C38E><EFBFBD>ӽ|<7C><><EFBFBD>r<EFBFBD><72><EFBFBD>,<2C>H&<02>3<EFBFBD><33>鴟j<E9B49F>O<EFBFBD>ԯ<EFBFBD><D4AF><EFBFBD><EFBFBD><0F><>9<EFBFBD>

View File

@ -0,0 +1 @@
459260de735f85c64517eef30e6a2d2236f3f920

View File

@ -0,0 +1 @@
test1

View File

@ -0,0 +1 @@
test2

View File

@ -0,0 +1 @@
test3

View File

@ -0,0 +1 @@
test4

View File

@ -0,0 +1 @@
test5

View File

@ -1,57 +0,0 @@
On branch master
nothing to commit, working tree clean
test1
test2
test3
test4
test5
my commit
diff --git a/myfile5 b/myfile5
new file mode 100644
index 0000000..4f346f1
--- /dev/null
+++ b/myfile5
@@ -0,0 +1 @@
+test5
myfile4
diff --git a/myfile4 b/myfile4
new file mode 100644
index 0000000..d234c5e
--- /dev/null
+++ b/myfile4
@@ -0,0 +1 @@
+test4
myfile3
diff --git a/myfile3 b/myfile3
new file mode 100644
index 0000000..df6b0d2
--- /dev/null
+++ b/myfile3
@@ -0,0 +1 @@
+test3
myfile2
diff --git a/myfile2 b/myfile2
new file mode 100644
index 0000000..180cf83
--- /dev/null
+++ b/myfile2
@@ -0,0 +1 @@
+test2
myfile1
diff --git a/myfile1 b/myfile1
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/myfile1
@@ -0,0 +1 @@
+test1

View File

@ -0,0 +1,20 @@
Merge branch 'base_branch' into other_branch
# Conflicts:
# file
#
# It looks like you may be committing a merge.
# If this is not correct, please remove the file
# /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/mergeConflicts/actual/.git/MERGE_HEAD
# and try again.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch other_branch
# All conflicts fixed but you are still merging.
#
# Changes to be committed:
# modified: file
#

View File

@ -0,0 +1 @@
ref: refs/heads/other_branch

View File

@ -0,0 +1 @@
659aa732ccda1aaa1cd6564fdb93bf0445b5115a

View File

@ -0,0 +1,10 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[user]
email = CI@example.com
name = CI

View File

@ -0,0 +1 @@
Unnamed repository; edit this file 'description' to name the repository.

View File

@ -0,0 +1,7 @@
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store

View File

@ -0,0 +1,34 @@
0000000000000000000000000000000000000000 705e4e70fae7dd1ea607b6ad0727bed681fa3de1 CI <CI@example.com> 1601981290 +1100 commit (initial): first commit
705e4e70fae7dd1ea607b6ad0727bed681fa3de1 705e4e70fae7dd1ea607b6ad0727bed681fa3de1 CI <CI@example.com> 1601981290 +1100 checkout: moving from master to feature/cherry-picking
705e4e70fae7dd1ea607b6ad0727bed681fa3de1 02caf2708fbff792572b0c30efaeddd214525c94 CI <CI@example.com> 1601981290 +1100 commit: first commit freshman year
02caf2708fbff792572b0c30efaeddd214525c94 f5794ed7a2233f8a01fea032de77d2bc6a02aaec CI <CI@example.com> 1601981290 +1100 commit: second commit subway eat fresh
f5794ed7a2233f8a01fea032de77d2bc6a02aaec 4d81feb29b83b1a26754d0f480427a13dce491f4 CI <CI@example.com> 1601981290 +1100 commit: third commit fresh
4d81feb29b83b1a26754d0f480427a13dce491f4 4e3f39dbce8ac07b560685d22d761138954a864a CI <CI@example.com> 1601981290 +1100 commit: fourth commit cool
4e3f39dbce8ac07b560685d22d761138954a864a 223a2caff009cc142bfa9b5889963a75c8004e8a CI <CI@example.com> 1601981290 +1100 commit: fifth commit nice
223a2caff009cc142bfa9b5889963a75c8004e8a b26567e4fd73c518dd6531825d81a389fa49fe03 CI <CI@example.com> 1601981290 +1100 commit: sixth commit haha
b26567e4fd73c518dd6531825d81a389fa49fe03 bfe07eeabbfcde2e7d6856918dd494c703864b20 CI <CI@example.com> 1601981290 +1100 commit: seventh commit yeah
bfe07eeabbfcde2e7d6856918dd494c703864b20 1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b CI <CI@example.com> 1601981290 +1100 commit: eighth commit woo
1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b 1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b CI <CI@example.com> 1601981290 +1100 checkout: moving from feature/cherry-picking to develop
1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b 27bff1745d1ab39754071c9b225971867ea2a8a8 CI <CI@example.com> 1601981290 +1100 commit: first commit on develop
27bff1745d1ab39754071c9b225971867ea2a8a8 705e4e70fae7dd1ea607b6ad0727bed681fa3de1 CI <CI@example.com> 1601981290 +1100 checkout: moving from develop to master
705e4e70fae7dd1ea607b6ad0727bed681fa3de1 07392b739784503a325278fedf5251ecb7c3bca9 CI <CI@example.com> 1601981290 +1100 commit: first commit on master
07392b739784503a325278fedf5251ecb7c3bca9 27bff1745d1ab39754071c9b225971867ea2a8a8 CI <CI@example.com> 1601981290 +1100 checkout: moving from master to develop
27bff1745d1ab39754071c9b225971867ea2a8a8 6573f823441ea560245f56e735d7cbc972607341 CI <CI@example.com> 1601981290 +1100 commit: second commit on develop
6573f823441ea560245f56e735d7cbc972607341 07392b739784503a325278fedf5251ecb7c3bca9 CI <CI@example.com> 1601981290 +1100 checkout: moving from develop to master
07392b739784503a325278fedf5251ecb7c3bca9 a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 CI <CI@example.com> 1601981290 +1100 commit: second commit on master
a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 6573f823441ea560245f56e735d7cbc972607341 CI <CI@example.com> 1601981290 +1100 checkout: moving from master to develop
6573f823441ea560245f56e735d7cbc972607341 de8c7134958792e1bff9b33cca090287def37f7e CI <CI@example.com> 1601981290 +1100 commit: third commit on develop
de8c7134958792e1bff9b33cca090287def37f7e a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 CI <CI@example.com> 1601981290 +1100 checkout: moving from develop to master
a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 d09f332ddbdbb1d516ca99da33b23f987e4c13c3 CI <CI@example.com> 1601981290 +1100 commit: third commit on master
d09f332ddbdbb1d516ca99da33b23f987e4c13c3 de8c7134958792e1bff9b33cca090287def37f7e CI <CI@example.com> 1601981290 +1100 checkout: moving from master to develop
de8c7134958792e1bff9b33cca090287def37f7e 149c4365ab13dfb2ef4dd1e2c1eec0f3b6be2ed9 CI <CI@example.com> 1601981290 +1100 commit: fourth commit on develop
149c4365ab13dfb2ef4dd1e2c1eec0f3b6be2ed9 d09f332ddbdbb1d516ca99da33b23f987e4c13c3 CI <CI@example.com> 1601981290 +1100 checkout: moving from develop to master
d09f332ddbdbb1d516ca99da33b23f987e4c13c3 e217a1e8fe2e038fdc59202dee120f081ecf458f CI <CI@example.com> 1601981290 +1100 commit: fourth commit on master
e217a1e8fe2e038fdc59202dee120f081ecf458f e217a1e8fe2e038fdc59202dee120f081ecf458f CI <CI@example.com> 1601981290 +1100 checkout: moving from master to base_branch
e217a1e8fe2e038fdc59202dee120f081ecf458f 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 commit: file
8580d8908b1bfc6d71971e73812effa15c68ecf3 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 checkout: moving from base_branch to other_branch
8580d8908b1bfc6d71971e73812effa15c68ecf3 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 checkout: moving from other_branch to base_branch
8580d8908b1bfc6d71971e73812effa15c68ecf3 4a5f9db9c8d46ac099de054e42e17a157ee3909b CI <CI@example.com> 1601981290 +1100 commit: file changed
4a5f9db9c8d46ac099de054e42e17a157ee3909b 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 checkout: moving from base_branch to other_branch
8580d8908b1bfc6d71971e73812effa15c68ecf3 659aa732ccda1aaa1cd6564fdb93bf0445b5115a CI <CI@example.com> 1601981293 +1100 commit: asd
659aa732ccda1aaa1cd6564fdb93bf0445b5115a ed21fe1044b8600683ec6c2abbf86195a4d55461 CI <CI@example.com> 1601981298 +1100 commit (merge): Merge branch 'base_branch' into other_branch

View File

@ -0,0 +1,3 @@
0000000000000000000000000000000000000000 e217a1e8fe2e038fdc59202dee120f081ecf458f CI <CI@example.com> 1601981290 +1100 branch: Created from HEAD
e217a1e8fe2e038fdc59202dee120f081ecf458f 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 commit: file
8580d8908b1bfc6d71971e73812effa15c68ecf3 4a5f9db9c8d46ac099de054e42e17a157ee3909b CI <CI@example.com> 1601981290 +1100 commit: file changed

View File

@ -0,0 +1,5 @@
0000000000000000000000000000000000000000 1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b CI <CI@example.com> 1601981290 +1100 branch: Created from HEAD
1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b 27bff1745d1ab39754071c9b225971867ea2a8a8 CI <CI@example.com> 1601981290 +1100 commit: first commit on develop
27bff1745d1ab39754071c9b225971867ea2a8a8 6573f823441ea560245f56e735d7cbc972607341 CI <CI@example.com> 1601981290 +1100 commit: second commit on develop
6573f823441ea560245f56e735d7cbc972607341 de8c7134958792e1bff9b33cca090287def37f7e CI <CI@example.com> 1601981290 +1100 commit: third commit on develop
de8c7134958792e1bff9b33cca090287def37f7e 149c4365ab13dfb2ef4dd1e2c1eec0f3b6be2ed9 CI <CI@example.com> 1601981290 +1100 commit: fourth commit on develop

View File

@ -0,0 +1,9 @@
0000000000000000000000000000000000000000 705e4e70fae7dd1ea607b6ad0727bed681fa3de1 CI <CI@example.com> 1601981290 +1100 branch: Created from HEAD
705e4e70fae7dd1ea607b6ad0727bed681fa3de1 02caf2708fbff792572b0c30efaeddd214525c94 CI <CI@example.com> 1601981290 +1100 commit: first commit freshman year
02caf2708fbff792572b0c30efaeddd214525c94 f5794ed7a2233f8a01fea032de77d2bc6a02aaec CI <CI@example.com> 1601981290 +1100 commit: second commit subway eat fresh
f5794ed7a2233f8a01fea032de77d2bc6a02aaec 4d81feb29b83b1a26754d0f480427a13dce491f4 CI <CI@example.com> 1601981290 +1100 commit: third commit fresh
4d81feb29b83b1a26754d0f480427a13dce491f4 4e3f39dbce8ac07b560685d22d761138954a864a CI <CI@example.com> 1601981290 +1100 commit: fourth commit cool
4e3f39dbce8ac07b560685d22d761138954a864a 223a2caff009cc142bfa9b5889963a75c8004e8a CI <CI@example.com> 1601981290 +1100 commit: fifth commit nice
223a2caff009cc142bfa9b5889963a75c8004e8a b26567e4fd73c518dd6531825d81a389fa49fe03 CI <CI@example.com> 1601981290 +1100 commit: sixth commit haha
b26567e4fd73c518dd6531825d81a389fa49fe03 bfe07eeabbfcde2e7d6856918dd494c703864b20 CI <CI@example.com> 1601981290 +1100 commit: seventh commit yeah
bfe07eeabbfcde2e7d6856918dd494c703864b20 1bbb146d9ce5c8ae1d34b7bc63fe7288adc0c26b CI <CI@example.com> 1601981290 +1100 commit: eighth commit woo

View File

@ -0,0 +1,5 @@
0000000000000000000000000000000000000000 705e4e70fae7dd1ea607b6ad0727bed681fa3de1 CI <CI@example.com> 1601981290 +1100 commit (initial): first commit
705e4e70fae7dd1ea607b6ad0727bed681fa3de1 07392b739784503a325278fedf5251ecb7c3bca9 CI <CI@example.com> 1601981290 +1100 commit: first commit on master
07392b739784503a325278fedf5251ecb7c3bca9 a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 CI <CI@example.com> 1601981290 +1100 commit: second commit on master
a2c097a7f46ce0bc1f1e5a17b280a574f34d4a21 d09f332ddbdbb1d516ca99da33b23f987e4c13c3 CI <CI@example.com> 1601981290 +1100 commit: third commit on master
d09f332ddbdbb1d516ca99da33b23f987e4c13c3 e217a1e8fe2e038fdc59202dee120f081ecf458f CI <CI@example.com> 1601981290 +1100 commit: fourth commit on master

View File

@ -0,0 +1,3 @@
0000000000000000000000000000000000000000 8580d8908b1bfc6d71971e73812effa15c68ecf3 CI <CI@example.com> 1601981290 +1100 branch: Created from HEAD
8580d8908b1bfc6d71971e73812effa15c68ecf3 659aa732ccda1aaa1cd6564fdb93bf0445b5115a CI <CI@example.com> 1601981293 +1100 commit: asd
659aa732ccda1aaa1cd6564fdb93bf0445b5115a ed21fe1044b8600683ec6c2abbf86195a4d55461 CI <CI@example.com> 1601981298 +1100 commit (merge): Merge branch 'base_branch' into other_branch

View File

@ -0,0 +1,3 @@
x<01><><EFBFBD>
<EFBFBD>0=<3D>+<2B>.<2E>nZ<6E>D<><44><EFBFBD><19><><EFBFBD>
<EFBFBD>J<EFBFBD><EFBFBD>o<EFBFBD><1F>:<3A><>ĵ<EFBFBD>k#+ݮU<DDAE>,bD<62>}o{p<><70>u<1D><>\<5C>Ь:<3A><>V<EFBFBD>y><3E><><EFBFBD><EFBFBD><EFBFBD>) ԱN{<7B><03>$k<> F_mY+M3<4D><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@ -0,0 +1,5 @@
x<01><>K
<EFBFBD>0@]<5D><14>d&M& <09>]<5D><18>L<EFBFBD>`M)=<3D>/<2F><><EFBFBD><1E>ܖ<EFBFBD><DC96>A<EFBFBD>9<EFBFBD>M<04><1F><><EFBFBD><EFBFBD>9%<25>c<EFBFBD><63>5Z
<EFBFBD><EFBFBD>UK<13>l<EFBFBD>Z<EFBFBD>&<26><0E>
:<3A><>R<EFBFBD>E<EFBFBD><45><EFBFBD><EFBFBD>r _<> &;<<3C><>Q<EFBFBD>W<EFBFBD><57><06><04>q<EFBFBD><71>'.<2E>CN<43>- F
<EFBFBD>t@8!<21><><EFBFBD>S]<5D>ԕ<EFBFBD>os<6F><73><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><<3C>>'

View File

@ -0,0 +1,3 @@
x<01><>K
<EFBFBD>0@]<5D><14>$<24><><EFBFBD> <09>]<5D><18>db <0B>C<EFBFBD><43><EFBFBD><EFBFBD><11>>ރ'۲<>
0<EFBFBD>K;T<><54>B<>2<EFBFBD>'b<>T<EFBFBD>Ԙ4<D498><34>U<EFBFBD>w$Tԙ=<1D>6<EFBFBD><36>m<EFBFBD>h9c<39>

View File

@ -0,0 +1 @@
x<01><><EFBFBD> <09>0C<>v<EFBFBD>L<EFBFBD><1F>\<5C>j<EFBFBD>VО<56>W<EFBFBD><57>=<1D><05><08><><EFBFBD><EFBFBD><EFBFBD>M<<3C>i<EFBFBD>f.<2E><><EFBFBD>PU<50>M<>HT<48><54>3T<33>`Q<><51><EFBFBD>9<EFBFBD>"<22>^<5E><>h<EFBFBD>d[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i+B<><42>;<3B>~<7E>/ Y:/<2F><1B><P<>

View File

@ -0,0 +1,2 @@
x<01><>K
<EFBFBD>0@]<5D><14>d&I<><11><>c<><63><EFBFBD>`<60>R<EFBFBD>x| ^<5E><><EFBFBD>=x<>M<EFBFBD>}Kt<4B>VU<18>QU<51><55>%h<12><>MX<4D>y)I$<24>*<2A>1<><31>W<EFBFBD><57>0<EFBFBD>q<EFBFBD><71>;!..<2E><>c<EFBFBD><63><EFBFBD><EFBFBD>]<5D><>BT<42><54>8~m<><6D>B?<3F><><1F><><EFBFBD>iy詶<79><14>r"<22><11>D<EFBFBD>f<EFBFBD><66>Ԧ<D4A6><EFBFBD><02> <0C> <0C>o}<7D><>|+@<40>

View File

@ -0,0 +1,3 @@
x<01><>A
<EFBFBD>0Fa<46>9E<39><45>̌M3"BW=F<><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><44><EFBFBD>n<1F><><EFBFBD>uY<75><59><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD> i<>Z
%%X@<40>`<60><>$i2<69>}?Y<>Tbt[<5B><>n<1E>11<31>B@W<>%<13><02>P%e<><65><05>.}<7D>s<EFBFBD><73>0<EFBFBD><30>0><3E>M<EFBFBD><4D><EFBFBD>%<25><><EFBFBD>sOl<4F>b<EFBFBD><62><EFBFBD>D<EFBFBD><44><EFBFBD><54><C39F><EFBFBD><05>{<7B>9<EFBFBD>

View File

@ -0,0 +1,2 @@
x<01><>M
<EFBFBD>0<10>]<5D><14>d&i<>@D<><44><EFBFBD>H<EFBFBD>SLS<4C>߀p<><70>=<3D><1E>R<EFBFBD>

View File

@ -0,0 +1,4 @@
x<01><>K
<EFBFBD>0@]<5D><14>d&i~ "t<>1&Ʉ
ƖEoo<6F> <0B>}<7D>/ϭ];ht<68><74><EFBFBD>@A<><41>k<EFBFBD><<3C><><EFBFBD>&$R<><52>S<EFBFBD><53>H<EFBFBD>K<EFBFBD>Ѩ<EFBFBD>W<EFBFBD>wH<77>Y<EFBFBD>e<EFBFBD>śl)<29><EFBFBD>m <09>&<26><>C<EFBFBD><43>F<EFBFBD><46>O<EFBFBD>
<EFBFBD><05><><EFBFBD>,on<6F>Myn' <20>鈰'BTݦ<><DDA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~|<7C>'<27><05> ><3E>

View File

@ -0,0 +1,4 @@
x<01><>M
<EFBFBD>0<10>a<EFBFBD>9<EFBFBD><39><05><>@D<><44>ǘ<EFBFBD>Z0<5A><30>߂p<><70>><3E><><EFBFBD>ֵ<EFBFBD><D6B5>t<EFBFBD>M4<><34>%84<38>D<EFBFBD>]<5D>D<EFBFBD><44>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>6<1A>\<5C><>M<EFBFBD>XgL<67>C<EFBFBD>> N<>
<EFBFBD>c
<EFBFBD><EFBFBD><EFBFBD>.<2E>bƚ<14><><EFBFBD>5F<><0E>]>\<5C><>\<5C>Vo@)E<> <09>L<EFBFBD><4C><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD>\<5C>em3<6D>lO<6C><4F>:<3A><><02>-?/

View File

@ -0,0 +1 @@
x<01><><EFBFBD> <09>0C<><43><14><>?<3F>3<EFBFBD>ƵV<>=iO<69><4F>=<1D><05><08><><EFBFBD><EFBFBD><EFBFBD>,<01>8tW<><57>@h*<2A><>&R$j<08>*y<><79>ʑs<><DC9C>8v)<29><>u㧱<75><E3A7B1>V<EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><17>"<0F><17>

Some files were not shown because too many files have changed in this diff Show More