diff --git a/01-git/ls-karachik/README.md b/01-git/ls-karachik/README.md new file mode 100644 index 00000000..10b0905c --- /dev/null +++ b/01-git/ls-karachik/README.md @@ -0,0 +1,29 @@ +### Сборка + +```shell +gradle clean build +``` + +Уже собранное приложение ```ls-karachik-0.1.jar``` лежит в папке ```example```. + +### Тестирование + +```shell +cd example +java -jar ls-karachik-0.1.jar . 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +``` + + +Пример вывода: +``` +example> java -jar ls-karachik-0.1.jar . 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +.parent/ +.commit +README +hello.txt +osetrov.txt +subdir/ +subdir/osetrov.md +subdir/subsubdir/ +subdir/text.txt +``` diff --git a/01-git/ls-karachik/build.gradle b/01-git/ls-karachik/build.gradle new file mode 100644 index 00000000..677e114d --- /dev/null +++ b/01-git/ls-karachik/build.gradle @@ -0,0 +1,31 @@ +plugins { + id 'java' + id 'application' + id 'org.jetbrains.kotlin.jvm' version '1.6.10' +} + +group 'git-ls' +version '0.1' + +application { + mainClassName = 'main.MainKt' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib" + implementation "org.jetbrains.kotlin:kotlin-reflect:1.6.10" +} + +jar { + manifest { + attributes( + 'Main-Class': 'MainKt' + ) + } + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } } +} \ No newline at end of file diff --git a/01-git/ls-karachik/example/075f093ba3d3934cee319afe10be611997da5257eae4429953419c79c4893238 b/01-git/ls-karachik/example/075f093ba3d3934cee319afe10be611997da5257eae4429953419c79c4893238 new file mode 100644 index 00000000..7205dcb6 --- /dev/null +++ b/01-git/ls-karachik/example/075f093ba3d3934cee319afe10be611997da5257eae4429953419c79c4893238 @@ -0,0 +1,7 @@ +.commit: 1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 +.parent/ 3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ d1b2fa56b785a15b60b2aa9db0d4ff23b42c0ffd9020ff97eb39cf8cb1640c75 diff --git a/01-git/ls-karachik/example/0ae8b845f4ef9e41dee6ccae3cd9730ebc7305c874c69bde0c126f75142b7950 b/01-git/ls-karachik/example/0ae8b845f4ef9e41dee6ccae3cd9730ebc7305c874c69bde0c126f75142b7950 new file mode 100644 index 00000000..62c12f8e --- /dev/null +++ b/01-git/ls-karachik/example/0ae8b845f4ef9e41dee6ccae3cd9730ebc7305c874c69bde0c126f75142b7950 @@ -0,0 +1,3 @@ +kopylov.txt: 34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc +subsubdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/01-git/ls-karachik/example/0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea b/01-git/ls-karachik/example/0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea new file mode 100644 index 00000000..cdd34350 --- /dev/null +++ b/01-git/ls-karachik/example/0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea @@ -0,0 +1,2 @@ +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc +text.txt: e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 diff --git a/01-git/ls-karachik/example/0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 b/01-git/ls-karachik/example/0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 new file mode 100644 index 00000000..cd087558 --- /dev/null +++ b/01-git/ls-karachik/example/0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 @@ -0,0 +1 @@ +Hello world! diff --git a/01-git/ls-karachik/example/11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a b/01-git/ls-karachik/example/11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a new file mode 100644 index 00000000..0b914f6a --- /dev/null +++ b/01-git/ls-karachik/example/11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a @@ -0,0 +1,2 @@ +kopylov.txt: 34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc diff --git a/01-git/ls-karachik/example/1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b b/01-git/ls-karachik/example/1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b new file mode 100644 index 00000000..010690df --- /dev/null +++ b/01-git/ls-karachik/example/1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b @@ -0,0 +1,3 @@ +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc +subsubdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +text.txt: e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 diff --git a/01-git/ls-karachik/example/1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 b/01-git/ls-karachik/example/1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 new file mode 100644 index 00000000..b8e3c7d3 --- /dev/null +++ b/01-git/ls-karachik/example/1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 @@ -0,0 +1,4 @@ +Root: 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +Date: 27 Feb 2024 19:16:42 +07 + +Commit by Riabykh (fixed) diff --git a/01-git/ls-karachik/example/2e2e23daa82c23b8c4be3e4ed7f120af804bfdb4282c150778e0a0baca192603 b/01-git/ls-karachik/example/2e2e23daa82c23b8c4be3e4ed7f120af804bfdb4282c150778e0a0baca192603 new file mode 100644 index 00000000..263e14a4 --- /dev/null +++ b/01-git/ls-karachik/example/2e2e23daa82c23b8c4be3e4ed7f120af804bfdb4282c150778e0a0baca192603 @@ -0,0 +1,4 @@ +kopylov.txt: 34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc +subsubdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +text.txt: e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 diff --git a/01-git/ls-karachik/example/329e7c01d32836f64df70b67f66ea810d9ff6893869453af30cf4f71f4eecda3 b/01-git/ls-karachik/example/329e7c01d32836f64df70b67f66ea810d9ff6893869453af30cf4f71f4eecda3 new file mode 100644 index 00000000..eb9f528f --- /dev/null +++ b/01-git/ls-karachik/example/329e7c01d32836f64df70b67f66ea810d9ff6893869453af30cf4f71f4eecda3 @@ -0,0 +1,4 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: 9a4e62253a64b3fc8d8aeab31430f5a6297e7fc024e4221610aa08423d17ece0 +subdir/ 4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 diff --git a/01-git/ls-karachik/example/34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 b/01-git/ls-karachik/example/34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 new file mode 100644 index 00000000..d4af9963 --- /dev/null +++ b/01-git/ls-karachik/example/34206eec890a153dfee9e8632c89fcbca5536d04227cfebfa9cff130545bf348 @@ -0,0 +1 @@ +Small contribution diff --git a/01-git/ls-karachik/example/358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc b/01-git/ls-karachik/example/358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc new file mode 100644 index 00000000..4ceb4d39 --- /dev/null +++ b/01-git/ls-karachik/example/358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc @@ -0,0 +1 @@ +*another file* by Osetrov diff --git a/01-git/ls-karachik/example/3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 b/01-git/ls-karachik/example/3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 new file mode 100644 index 00000000..eae5b9a2 --- /dev/null +++ b/01-git/ls-karachik/example/3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 @@ -0,0 +1,7 @@ +.commit: 1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 +.parent/ 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/408a7d69ed40bfa87d1e477ae9b8147e20bfb00e29877cf32809162af6c97d63 b/01-git/ls-karachik/example/408a7d69ed40bfa87d1e477ae9b8147e20bfb00e29877cf32809162af6c97d63 new file mode 100644 index 00000000..2442c314 --- /dev/null +++ b/01-git/ls-karachik/example/408a7d69ed40bfa87d1e477ae9b8147e20bfb00e29877cf32809162af6c97d63 @@ -0,0 +1,8 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 8a93e3b3f78b2aac24f1c81ba4bf42a43fabc67e401ecfe7d270b02a53742291 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +dir_konstantinov/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.md: 6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a diff --git a/01-git/ls-karachik/example/41f4e7394004d3dd93001ac397b96a282dd072c58aadd0720fff9c232757a8da b/01-git/ls-karachik/example/41f4e7394004d3dd93001ac397b96a282dd072c58aadd0720fff9c232757a8da new file mode 100644 index 00000000..08fb8da6 --- /dev/null +++ b/01-git/ls-karachik/example/41f4e7394004d3dd93001ac397b96a282dd072c58aadd0720fff9c232757a8da @@ -0,0 +1,2 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +subdir/ bdf6c15545b679e2500a451b7ff7c30b8784658e2a553d4913adb4651c0a78d3 diff --git a/01-git/ls-karachik/example/4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 b/01-git/ls-karachik/example/4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 new file mode 100644 index 00000000..29d7cefa --- /dev/null +++ b/01-git/ls-karachik/example/4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 @@ -0,0 +1 @@ +text.txt: e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 diff --git a/01-git/ls-karachik/example/5810771daeca1bf82e484e935ad7dda0084a58acbe8be2657963187e4d202358 b/01-git/ls-karachik/example/5810771daeca1bf82e484e935ad7dda0084a58acbe8be2657963187e4d202358 new file mode 100644 index 00000000..a0c0efb1 --- /dev/null +++ b/01-git/ls-karachik/example/5810771daeca1bf82e484e935ad7dda0084a58acbe8be2657963187e4d202358 @@ -0,0 +1,4 @@ +Root: 8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 +Date: 19 Feb 2024 19:00:39 +07 + +This diff --git a/01-git/ls-karachik/example/59a508d65de6cb3eb1e9ecbcbd18c8c2c49c13c736a254ab956f765637a787fd b/01-git/ls-karachik/example/59a508d65de6cb3eb1e9ecbcbd18c8c2c49c13c736a254ab956f765637a787fd new file mode 100644 index 00000000..2c49eeb8 --- /dev/null +++ b/01-git/ls-karachik/example/59a508d65de6cb3eb1e9ecbcbd18c8c2c49c13c736a254ab956f765637a787fd @@ -0,0 +1 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 diff --git a/01-git/ls-karachik/example/59eb8958bb18d41d52720936d87136fadc464a16aee56063322d3b605a06386e b/01-git/ls-karachik/example/59eb8958bb18d41d52720936d87136fadc464a16aee56063322d3b605a06386e new file mode 100644 index 00000000..071ffb6d --- /dev/null +++ b/01-git/ls-karachik/example/59eb8958bb18d41d52720936d87136fadc464a16aee56063322d3b605a06386e @@ -0,0 +1,2 @@ +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +subdir/ 4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 diff --git a/01-git/ls-karachik/example/5da227a2d631dea83372c562523195008105117e5f4adbfe1e1544e5c57e9b73 b/01-git/ls-karachik/example/5da227a2d631dea83372c562523195008105117e5f4adbfe1e1544e5c57e9b73 new file mode 100644 index 00000000..0b754022 --- /dev/null +++ b/01-git/ls-karachik/example/5da227a2d631dea83372c562523195008105117e5f4adbfe1e1544e5c57e9b73 @@ -0,0 +1,9 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 8a93e3b3f78b2aac24f1c81ba4bf42a43fabc67e401ecfe7d270b02a53742291 +.parent/ 8ed5022dc2ef825d8f6825b642a38847011af060e9662ad5bf623186f8819fd9 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +dir_konstantinov/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.md: 6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a diff --git a/01-git/ls-karachik/example/5f8d16be493ccddaaaf4cfb447846748db9d9020d8b2fb173fabc1e39205a808 b/01-git/ls-karachik/example/5f8d16be493ccddaaaf4cfb447846748db9d9020d8b2fb173fabc1e39205a808 new file mode 100644 index 00000000..bbba0b16 --- /dev/null +++ b/01-git/ls-karachik/example/5f8d16be493ccddaaaf4cfb447846748db9d9020d8b2fb173fabc1e39205a808 @@ -0,0 +1,2 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +subdir/ 4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 diff --git a/01-git/ls-karachik/example/6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 b/01-git/ls-karachik/example/6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 new file mode 100644 index 00000000..ef2ce48f --- /dev/null +++ b/01-git/ls-karachik/example/6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 @@ -0,0 +1 @@ +Another contribution by *Kopylov* diff --git a/01-git/ls-karachik/example/7197b4356cfac12feecb19a8af911ff326b184a5458aeb8a6d5935ba1d66e048 b/01-git/ls-karachik/example/7197b4356cfac12feecb19a8af911ff326b184a5458aeb8a6d5935ba1d66e048 new file mode 100644 index 00000000..e69de29b diff --git a/01-git/ls-karachik/example/71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f b/01-git/ls-karachik/example/71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f new file mode 100644 index 00000000..30d81128 --- /dev/null +++ b/01-git/ls-karachik/example/71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f @@ -0,0 +1,6 @@ +.parent/ f2e827d2ab627239199f639c475c7625a013fe2a8afd6696519329fda2977209 +.commit: 5810771daeca1bf82e484e935ad7dda0084a58acbe8be2657963187e4d202358 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 b/01-git/ls-karachik/example/77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 new file mode 100644 index 00000000..46b571b1 --- /dev/null +++ b/01-git/ls-karachik/example/77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 @@ -0,0 +1,5 @@ +Root: 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +Date: 19 Feb 2024 22:19:28 +07 + +New commit by Ershov + diff --git a/01-git/ls-karachik/example/7c5487668ad20d17ed05dc26f24cbd96cdd0723d214d367a2ef53553f006ce22 b/01-git/ls-karachik/example/7c5487668ad20d17ed05dc26f24cbd96cdd0723d214d367a2ef53553f006ce22 new file mode 100644 index 00000000..6a35b3e0 --- /dev/null +++ b/01-git/ls-karachik/example/7c5487668ad20d17ed05dc26f24cbd96cdd0723d214d367a2ef53553f006ce22 @@ -0,0 +1,7 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 9941988d62d1b9cf16d151cfe4102910787d192237aa2ad05f22586d1d9481ef +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.md: 6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 2e2e23daa82c23b8c4be3e4ed7f120af804bfdb4282c150778e0a0baca192603 diff --git a/01-git/ls-karachik/example/840a445c6b014ca2f74f3c1d3b97d64a6f50b801cc7cde4e057d913be8a44b30 b/01-git/ls-karachik/example/840a445c6b014ca2f74f3c1d3b97d64a6f50b801cc7cde4e057d913be8a44b30 new file mode 100644 index 00000000..ac8f5194 --- /dev/null +++ b/01-git/ls-karachik/example/840a445c6b014ca2f74f3c1d3b97d64a6f50b801cc7cde4e057d913be8a44b30 @@ -0,0 +1,7 @@ +.commit: 1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 +.parent/ 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea diff --git a/01-git/ls-karachik/example/8a93e3b3f78b2aac24f1c81ba4bf42a43fabc67e401ecfe7d270b02a53742291 b/01-git/ls-karachik/example/8a93e3b3f78b2aac24f1c81ba4bf42a43fabc67e401ecfe7d270b02a53742291 new file mode 100644 index 00000000..29479ae9 --- /dev/null +++ b/01-git/ls-karachik/example/8a93e3b3f78b2aac24f1c81ba4bf42a43fabc67e401ecfe7d270b02a53742291 @@ -0,0 +1,7 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 8ed5022dc2ef825d8f6825b642a38847011af060e9662ad5bf623186f8819fd9 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.md: 6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 11e8c85b6ba3532ee79e4754bd0e7dbd454c0896086a45efdac2995f258be35a diff --git a/01-git/ls-karachik/example/8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 b/01-git/ls-karachik/example/8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 new file mode 100644 index 00000000..b7752508 --- /dev/null +++ b/01-git/ls-karachik/example/8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 @@ -0,0 +1,5 @@ +.parent/ fba3b4c4e14384661b0ac2e2ec103d0e6275b483771ff4d930699cb0f0ce41f4 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea diff --git a/01-git/ls-karachik/example/8ed5022dc2ef825d8f6825b642a38847011af060e9662ad5bf623186f8819fd9 b/01-git/ls-karachik/example/8ed5022dc2ef825d8f6825b642a38847011af060e9662ad5bf623186f8819fd9 new file mode 100644 index 00000000..5d4b556d --- /dev/null +++ b/01-git/ls-karachik/example/8ed5022dc2ef825d8f6825b642a38847011af060e9662ad5bf623186f8819fd9 @@ -0,0 +1,7 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 7c5487668ad20d17ed05dc26f24cbd96cdd0723d214d367a2ef53553f006ce22 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.md: 6067fbe352f74c3115d29f2f249fdb86d46572c85b77deff110b0f19e76de3a5 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 0ae8b845f4ef9e41dee6ccae3cd9730ebc7305c874c69bde0c126f75142b7950 diff --git a/01-git/ls-karachik/example/8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a b/01-git/ls-karachik/example/8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a new file mode 100644 index 00000000..c239dfba --- /dev/null +++ b/01-git/ls-karachik/example/8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a @@ -0,0 +1 @@ +A humble contribution diff --git a/01-git/ls-karachik/example/9941988d62d1b9cf16d151cfe4102910787d192237aa2ad05f22586d1d9481ef b/01-git/ls-karachik/example/9941988d62d1b9cf16d151cfe4102910787d192237aa2ad05f22586d1d9481ef new file mode 100644 index 00000000..91c5b04f --- /dev/null +++ b/01-git/ls-karachik/example/9941988d62d1b9cf16d151cfe4102910787d192237aa2ad05f22586d1d9481ef @@ -0,0 +1,6 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ f1e3321038f04dbc18ecab255b7bb7aa880a809c2c02d426f802264a86e1377c +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 2e2e23daa82c23b8c4be3e4ed7f120af804bfdb4282c150778e0a0baca192603 diff --git a/01-git/ls-karachik/example/99682225f8eeb6a007bed389c124c659f596a794d556b4c865c99995c5f03b98 b/01-git/ls-karachik/example/99682225f8eeb6a007bed389c124c659f596a794d556b4c865c99995c5f03b98 new file mode 100644 index 00000000..572cf24d --- /dev/null +++ b/01-git/ls-karachik/example/99682225f8eeb6a007bed389c124c659f596a794d556b4c865c99995c5f03b98 @@ -0,0 +1,3 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +subdir/ 4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 diff --git a/01-git/ls-karachik/example/9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 b/01-git/ls-karachik/example/9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 new file mode 100644 index 00000000..060bc2ac --- /dev/null +++ b/01-git/ls-karachik/example/9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 @@ -0,0 +1,7 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ f1e3321038f04dbc18ecab255b7bb7aa880a809c2c02d426f802264a86e1377c +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/9a4e62253a64b3fc8d8aeab31430f5a6297e7fc024e4221610aa08423d17ece0 b/01-git/ls-karachik/example/9a4e62253a64b3fc8d8aeab31430f5a6297e7fc024e4221610aa08423d17ece0 new file mode 100644 index 00000000..7d71c646 --- /dev/null +++ b/01-git/ls-karachik/example/9a4e62253a64b3fc8d8aeab31430f5a6297e7fc024e4221610aa08423d17ece0 @@ -0,0 +1 @@ +Kopylov uses Python diff --git a/01-git/ls-karachik/example/9bbb9a913d992756e5606e79ea09924790e4f480474bb477776d6faf19a9af74 b/01-git/ls-karachik/example/9bbb9a913d992756e5606e79ea09924790e4f480474bb477776d6faf19a9af74 new file mode 100644 index 00000000..e16d03f2 --- /dev/null +++ b/01-git/ls-karachik/example/9bbb9a913d992756e5606e79ea09924790e4f480474bb477776d6faf19a9af74 @@ -0,0 +1,4 @@ +Root: 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +Date: 27 Feb 2024 19:13:06 +07 + +Commit by Riabykh diff --git a/01-git/ls-karachik/example/a5156122bb1864bf32507b744ed6128d2ca26eeb6f19a85a594ae7309a3920c5 b/01-git/ls-karachik/example/a5156122bb1864bf32507b744ed6128d2ca26eeb6f19a85a594ae7309a3920c5 new file mode 100644 index 00000000..bbc10669 --- /dev/null +++ b/01-git/ls-karachik/example/a5156122bb1864bf32507b744ed6128d2ca26eeb6f19a85a594ae7309a3920c5 @@ -0,0 +1 @@ +Another contribution diff --git a/01-git/ls-karachik/example/a52f4102bb8f1930b142ba40e517e79116fdb1f8d2ff65bdb7dbebc06196a6e3 b/01-git/ls-karachik/example/a52f4102bb8f1930b142ba40e517e79116fdb1f8d2ff65bdb7dbebc06196a6e3 new file mode 100644 index 00000000..1326729f --- /dev/null +++ b/01-git/ls-karachik/example/a52f4102bb8f1930b142ba40e517e79116fdb1f8d2ff65bdb7dbebc06196a6e3 @@ -0,0 +1,4 @@ +Root: 8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 +Date: 19 Feb 2024 18:58:54 +07 + +This diff --git a/01-git/ls-karachik/example/a61421cfa6ca8f33b93bb7f4dede4e38ffb07f4f768c392912e5087417bc1c71 b/01-git/ls-karachik/example/a61421cfa6ca8f33b93bb7f4dede4e38ffb07f4f768c392912e5087417bc1c71 new file mode 100644 index 00000000..4e727877 --- /dev/null +++ b/01-git/ls-karachik/example/a61421cfa6ca8f33b93bb7f4dede4e38ffb07f4f768c392912e5087417bc1c71 @@ -0,0 +1,7 @@ +.commit: fbeffd16ac77e427ab3d9f5e6086665ba089424d0d64b39e39e3399e21ad2d0f +.parent/ 3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/b84a44662e8da9db5ae2be1652385fce97029d24ae64c0161348196c6ade45bc b/01-git/ls-karachik/example/b84a44662e8da9db5ae2be1652385fce97029d24ae64c0161348196c6ade45bc new file mode 100644 index 00000000..e7a72de8 --- /dev/null +++ b/01-git/ls-karachik/example/b84a44662e8da9db5ae2be1652385fce97029d24ae64c0161348196c6ade45bc @@ -0,0 +1,5 @@ +Root: 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +Date: 19 Feb 2024 22:16:42 +07 + +New commit by Ershov + diff --git a/01-git/ls-karachik/example/bdf6c15545b679e2500a451b7ff7c30b8784658e2a553d4913adb4651c0a78d3 b/01-git/ls-karachik/example/bdf6c15545b679e2500a451b7ff7c30b8784658e2a553d4913adb4651c0a78d3 new file mode 100644 index 00000000..e69de29b diff --git a/01-git/ls-karachik/example/be5f197af15ab86c5da80714344bf2e61583cdde579f778fd868fa2811819c52 b/01-git/ls-karachik/example/be5f197af15ab86c5da80714344bf2e61583cdde579f778fd868fa2811819c52 new file mode 100644 index 00000000..cacc8be6 --- /dev/null +++ b/01-git/ls-karachik/example/be5f197af15ab86c5da80714344bf2e61583cdde579f778fd868fa2811819c52 @@ -0,0 +1,7 @@ +.commit: 9bbb9a913d992756e5606e79ea09924790e4f480474bb477776d6faf19a9af74 +.parent: 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/bfe859320da8b5c490bedc02edb8a5fcba8e28f0ba2d448d50bb876973c13963 b/01-git/ls-karachik/example/bfe859320da8b5c490bedc02edb8a5fcba8e28f0ba2d448d50bb876973c13963 new file mode 100644 index 00000000..d69fbcb0 --- /dev/null +++ b/01-git/ls-karachik/example/bfe859320da8b5c490bedc02edb8a5fcba8e28f0ba2d448d50bb876973c13963 @@ -0,0 +1,5 @@ +Root: 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +Date: 19 Feb 2024 22:18:36 +07 + +New commit by Ershov + diff --git a/01-git/ls-karachik/example/c04293b31190e8a0b4d60d69341393cb1e30538e3dbc17372885731c53180b9f b/01-git/ls-karachik/example/c04293b31190e8a0b4d60d69341393cb1e30538e3dbc17372885731c53180b9f new file mode 100644 index 00000000..283e708f --- /dev/null +++ b/01-git/ls-karachik/example/c04293b31190e8a0b4d60d69341393cb1e30538e3dbc17372885731c53180b9f @@ -0,0 +1,9 @@ +.commit: 1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 +.parent/ 3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 +.parent/ 075f093ba3d3934cee319afe10be611997da5257eae4429953419c79c4893238 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ d1b2fa56b785a15b60b2aa9db0d4ff23b42c0ffd9020ff97eb39cf8cb1640c75 +subdir/subsubdir/subsubsubdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/01-git/ls-karachik/example/d1b2fa56b785a15b60b2aa9db0d4ff23b42c0ffd9020ff97eb39cf8cb1640c75 b/01-git/ls-karachik/example/d1b2fa56b785a15b60b2aa9db0d4ff23b42c0ffd9020ff97eb39cf8cb1640c75 new file mode 100644 index 00000000..41d00cc9 --- /dev/null +++ b/01-git/ls-karachik/example/d1b2fa56b785a15b60b2aa9db0d4ff23b42c0ffd9020ff97eb39cf8cb1640c75 @@ -0,0 +1,4 @@ +osetrov.md: 358531efd7e6d0a8b3c45be79d1ffa88fb8e7d11ca6a341b6d142fd31d7937fc +subdir/kopylov2.txt: a5156122bb1864bf32507b744ed6128d2ca26eeb6f19a85a594ae7309a3920c5 +subsubdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +text.txt: e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 diff --git a/01-git/ls-karachik/example/dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 b/01-git/ls-karachik/example/dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 new file mode 100644 index 00000000..059660ec --- /dev/null +++ b/01-git/ls-karachik/example/dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 @@ -0,0 +1 @@ +Sample filesystem diff --git a/01-git/ls-karachik/example/e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 b/01-git/ls-karachik/example/e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 new file mode 100644 index 00000000..f3322066 --- /dev/null +++ b/01-git/ls-karachik/example/e21d3a526d08ae5fac7bd69455022e2fec66b051641a1bcbbee7744e32095b02 @@ -0,0 +1 @@ +Just a text file diff --git a/01-git/ls-karachik/example/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 b/01-git/ls-karachik/example/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 new file mode 100644 index 00000000..e69de29b diff --git a/01-git/ls-karachik/example/eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca b/01-git/ls-karachik/example/eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca new file mode 100644 index 00000000..a937dd66 --- /dev/null +++ b/01-git/ls-karachik/example/eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca @@ -0,0 +1 @@ +This file was put by Kopylov's python code diff --git a/01-git/ls-karachik/example/f1e3321038f04dbc18ecab255b7bb7aa880a809c2c02d426f802264a86e1377c b/01-git/ls-karachik/example/f1e3321038f04dbc18ecab255b7bb7aa880a809c2c02d426f802264a86e1377c new file mode 100644 index 00000000..e7bc9d86 --- /dev/null +++ b/01-git/ls-karachik/example/f1e3321038f04dbc18ecab255b7bb7aa880a809c2c02d426f802264a86e1377c @@ -0,0 +1,6 @@ +.commit: 77f851a6ca814a3c95883f940fe9474c0c92521669f7ba748e15cf563e1b62c5 +.parent/ 71feb562937803d2621cc2b793ad75f349fbb27b2da5b67c1269bd2e8a4a6f7f +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b diff --git a/01-git/ls-karachik/example/f21ad9b137583c2d87ca8cf3a8c14934076adf50f96f465204262315e7bfeb87 b/01-git/ls-karachik/example/f21ad9b137583c2d87ca8cf3a8c14934076adf50f96f465204262315e7bfeb87 new file mode 100644 index 00000000..672fa569 --- /dev/null +++ b/01-git/ls-karachik/example/f21ad9b137583c2d87ca8cf3a8c14934076adf50f96f465204262315e7bfeb87 @@ -0,0 +1,3 @@ +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +subdir/ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/01-git/ls-karachik/example/f2e827d2ab627239199f639c475c7625a013fe2a8afd6696519329fda2977209 b/01-git/ls-karachik/example/f2e827d2ab627239199f639c475c7625a013fe2a8afd6696519329fda2977209 new file mode 100644 index 00000000..29fa4c40 --- /dev/null +++ b/01-git/ls-karachik/example/f2e827d2ab627239199f639c475c7625a013fe2a8afd6696519329fda2977209 @@ -0,0 +1,6 @@ +.commit: 5810771daeca1bf82e484e935ad7dda0084a58acbe8be2657963187e4d202358 +.parent/ 8ba3fc335d54110d2b77341160f5ea72fab484cd2044358e17b7c15223a8e309 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 0b77aab8a605cc6fbf0e440e67ed342fa66ead51cc03f09dc331d12a74d3e0ea diff --git a/01-git/ls-karachik/example/f7baf1bd1814f351b312e5adc0b7204bc8e455a22417190564cb4991345f945c b/01-git/ls-karachik/example/f7baf1bd1814f351b312e5adc0b7204bc8e455a22417190564cb4991345f945c new file mode 100644 index 00000000..953fde32 --- /dev/null +++ b/01-git/ls-karachik/example/f7baf1bd1814f351b312e5adc0b7204bc8e455a22417190564cb4991345f945c @@ -0,0 +1,9 @@ +.commit: 1fc5a77d66f96d3a2c050f6b0b6652444541e377301a28be1ac07ded90fc5935 +.parent/ 9a1ecea435451f7699e7018c153a3ea4f5055d92801baa0be691fdb8bd557251 +.parent/ 3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +konstantinov/ 7197b4356cfac12feecb19a8af911ff326b184a5458aeb8a6d5935ba1d66e048 +kopylov.txt: eaf5f5706ee10d112939d54f3c0e164a701822e20dd4bb82bb20291d748292ca +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 1f3ef7c4348a1054f51b7f1cb4ba304486ea802ac7d28def7c6d944072a5270b \ No newline at end of file diff --git a/01-git/ls-karachik/example/fba3b4c4e14384661b0ac2e2ec103d0e6275b483771ff4d930699cb0f0ce41f4 b/01-git/ls-karachik/example/fba3b4c4e14384661b0ac2e2ec103d0e6275b483771ff4d930699cb0f0ce41f4 new file mode 100644 index 00000000..04f6b4e8 --- /dev/null +++ b/01-git/ls-karachik/example/fba3b4c4e14384661b0ac2e2ec103d0e6275b483771ff4d930699cb0f0ce41f4 @@ -0,0 +1,5 @@ +.parent/ 99682225f8eeb6a007bed389c124c659f596a794d556b4c865c99995c5f03b98 +README: dd504747dc5604cd0a7ea3386a308648847478595f959dd7a8394bdda803c428 +hello.txt: 0ba904eae8773b70c75333db4de2f3ac45a8ad4ddba1b242f0b3cfc199391dd8 +osetrov.txt: 8fbb4e6f1058451dcaf82dd5efacde1da755414714a396c9078212ae53ac811a +subdir/ 4c474e331abf475d7432f1e68c961d4bb12c0f1f1aa167124033d92815ed3814 diff --git a/01-git/ls-karachik/example/fbeffd16ac77e427ab3d9f5e6086665ba089424d0d64b39e39e3399e21ad2d0f b/01-git/ls-karachik/example/fbeffd16ac77e427ab3d9f5e6086665ba089424d0d64b39e39e3399e21ad2d0f new file mode 100644 index 00000000..8a85096c --- /dev/null +++ b/01-git/ls-karachik/example/fbeffd16ac77e427ab3d9f5e6086665ba089424d0d64b39e39e3399e21ad2d0f @@ -0,0 +1,4 @@ +Root: 3e400cc98aebdb4c545480983810b88aeb6b4654836a16658af603da5d242fa0 +Date: 27 Feb 2024 19:30:16 +07 + +Commit by Tolkachev diff --git a/01-git/ls-karachik/example/ls-karachik-0.1.jar b/01-git/ls-karachik/example/ls-karachik-0.1.jar new file mode 100644 index 00000000..7f9abf00 Binary files /dev/null and b/01-git/ls-karachik/example/ls-karachik-0.1.jar differ diff --git a/01-git/ls-karachik/src/main/kotlin/Main.kt b/01-git/ls-karachik/src/main/kotlin/Main.kt new file mode 100644 index 00000000..1667bd0f --- /dev/null +++ b/01-git/ls-karachik/src/main/kotlin/Main.kt @@ -0,0 +1,72 @@ +import java.io.BufferedReader +import java.io.File +import java.io.FileReader +import java.io.IOException +import kotlin.system.exitProcess + +fun searchDirectory(path: String, root: String): String { + val directory = File(root) + if (directory.isDirectory) { + return path + } + if (path == "." || path == "./" || path.isEmpty()) { + return root + } + val tokens = path.split("/") + if (tokens.size < 2) { + System.err.println("Директория не найдена:\n\tпуть: $path\n\tкорень: $root\n") + throw RuntimeException("Некорректный ввод") + } + val pathPrefix = "${tokens[0]}/" + val pathSuffix = tokens[1] + BufferedReader(FileReader(root)).use { file -> + var line: String? + while (file.readLine().also { line = it } != null) { + val inputLines = line!!.split("\t") + if (pathPrefix == inputLines[0]) { + return searchDirectory(pathSuffix, inputLines[1]) + } + } + } + System.err.println("Префикс не найден:\n\tпрефикс: $pathPrefix\n\tсуффикс: $pathSuffix\n") + throw RuntimeException("Некорректный ввод") +} + +fun outputDirectory(hash: String, prefix: String, isRoot: Boolean) { + BufferedReader(FileReader(hash)).use { file -> + var line: String? + while (file.readLine().also { line = it } != null) { + val inputLines = line!!.split("\t") + if (inputLines.size < 2) { + continue + } + val objectName = inputLines[0] + val objectHash = inputLines[1] + if (objectName.endsWith(":")) { + println(prefix + objectName.substring(0, objectName.length - 1)) + } else { + println(prefix + objectName) + if (objectName.substring(0, objectName.length - 1) == ".parent" && isRoot) { + continue + } + outputDirectory(objectHash, prefix + objectName, false) + } + } + } +} + +fun main(args: Array) { + if (args.size != 2) { + System.err.println("Должно быть передано 2 аргумента") + exitProcess(1) + } + val path = args[0] + val root = args[1] + try { + val hash = searchDirectory(path, root) + outputDirectory(hash, "", hash == root) + } catch (e: IOException) { + System.err.println("Ошибка. Проверьте корректность переданных аргументов\n" + e.message) + exitProcess(1) + } +}