diff --git a/README.md b/README.md index 0f967f5..a0f7d64 100644 --- a/README.md +++ b/README.md @@ -1 +1,125 @@ -# merge-vs-rebase +# Intro + +blabla + +## Fork + +Fork this repo to your own github repo + +# Ex. 1 - python + +Here is the output of a python application: + +```bash +$ python run.py 'Hello buddies' + _ _ _ _ _ _ _ _ +| | | | ___ | || | ___ | |__ _ _ __| | __| |(_) ___ ___ +| |_| | / _ \| || | / _ \ | '_ \ | | | | / _` | / _` || | / _ \/ __| +| _ || __/| || || (_) | | |_) || |_| || (_| || (_| || || __/\__ \ +|_| |_| \___||_||_| \___/ |_.__/ \__,_| \__,_| \__,_||_| \___||___/ + +``` + +Can you write the run.py application and put it in the ex1 folder of the repo? + +# Ex. 2 - docker + +In ex2 folder, you will find a `plik` binary (taken from https://plik.ovh). + +Can you build very lighweight docker image that contains ONLY `plik` binary, and that execute `plik` by default? + +Push your Dockerfile in the ex2 folder. + +# Ex. 3 - terraform + +In ex3 folder, you will find an incomplete `openrc` file. + +You will need to amend the file to configure the correct `OS_USERNAME`, `OS_PASSWORD` and `OS_REGION_NAME` with the one that we gave to you. + +Then, using `terraform`, can you write a plan to boot a `d2-4` with a floating IP. + +Bonus, on that instance, make sure a web server (`nginx`) is running. + +Push your `main.tf` file in ex3 folder. + + +# Ex. 4 - git + +In this repo, there are two branches: + * stein + * queens + +Stein contains the following commits: + + * 1ff2641 (stein) G + * cf24853 F + * 3fcdfa0 E + * cb8c71a D + * 849ef26 C + * 372c155 B + * edc8ed7 A + +Queens contains the following commits: + + * 2624c16 (queens) F + * 5e3521b B + * edc8ed7 A + +So the common ancestor is A (same commit ID). + +B has been cherry-picked from stein to queens, without conflicts. + +F has also been cherry-picked but with conflicts (solved, of course). + +## Exercice + +You will need to create two branches: + - merged + - rebased + +### Merged + +Create the merged branch first: + +```bash +git checkout -b merged origin/queens +``` + +Then merge the stein branch into your branch +```bash +git merge origin/stein +``` + +You will have a conflict to solved. + +Solve it, then push your `merged` branch to your repo. + + +### Rebased + +Now create the rebased branch: +```bash +git checkout -b rebased origin/queens +``` + +Now rebase it on top of stein: + +```bash +git rebase -i origin/stein +``` + +You will have a conflict to solved. + +Solve it, then push your `rebased` branch to your repo. + +## Check diff + +Now check the diff between your two branches `merged` and `rebased`. + +```bash +git diff merged..rebased +``` + +Can you explain why you have a diff? + +Write down the explanation in ex4 folder (like in a `README.md` file) diff --git a/ex1/.placeholder b/ex1/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/ex2/.placeholder b/ex2/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/ex3/.placeholder b/ex3/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/ex3/openrc b/ex3/openrc new file mode 100644 index 0000000..9f283b8 --- /dev/null +++ b/ex3/openrc @@ -0,0 +1,9 @@ +export OS_AUTH_URL=https://auth.cloud.ovh.net/v3 +export OS_IDENTITY_API_VERSION=3 +export OS_USER_DOMAIN_NAME="Default" +export OS_PROJECT_DOMAIN_NAME="Default" +export OS_TENANT_ID=fc00ee5431d4497681f2039f4e649dca +export OS_TENANT_NAME="3245829148481055" +export OS_USERNAME="REPLACE_ME" +export OS_PASSWORD="REPLACE_ME" +export OS_REGION_NAME="GRA7" diff --git a/ex4/.placeholder b/ex4/.placeholder new file mode 100644 index 0000000..e69de29