In this repository, all the katas/coding dojos that I have done are grouped together, with some solutions being different or using different programming languages. The goal is to have all the solutions I have worked on grouped together, see different approaches to the same problem, and be able to compare them.
The repository, in turn, contains different projects for each kata, each organized by the different programming languages I have used. The directory structure is as follows:
katas
├── kata1
│ ├── first_language
│ ├── second_language
│ ├── third_language
├── kata2
│ ├── first_language
│ ├── second_language
│ ├── ...
├── kata3
In each of the programming language directories, there is a README.md file with the kata's description.
If we want to clone only one or several katas, we can do so using git's sparse-checkout:
# Clone the empty repository
$ git clone --no-checkout https://github.com/Sstark97/katas.git
# Move inside the repository
$ cd katas
# Initialize sparse-checkout
$ git sparse-checkout set <kata-directory>
# Update the workspace to see the changes
$ git read-tree -mu HEAD
It's important to enable "sparse-checkout" mode to do this; otherwise, we won't see any changes. We can do this as follows:
$ git config core.sparseCheckout true
To perform this, we need a version of Git that is greater than or equal to 2.25.