diff --git a/branchusecase.tex b/branchusecase.tex index 962169518312e4aed89f41ae3aa09e020b63d689..c304ee07bdbe3b4dfedf5e1272a944b2a61b1de7 100644 --- a/branchusecase.tex +++ b/branchusecase.tex @@ -4,78 +4,97 @@ %====================================================================== +\subsection{Introduction} + +%====================================================================== + \frame{\frametitle{Introduction} \begin{itemize} + \item + En dehors des contextes pouvant présenter des problèmes (comme des + \ex{rebase} sur des \emph{commits} déjà partagés), plusieurs + stratégies peuvent être mise en \oe{}uvre + \item + Toutes ces stratégies sont techniquement correctes, elles mènent à + un état final intégrant tous les \emph{commits} (branche dé départ + / référence et branche de nouvelle fonctionnalité) \item + Cependant, les historiques obtenus varient en fonction de la + stratégie suivie + \end{itemize} +} + +%====================================================================== + +\frame{\frametitle{Introduction} + \begin{itemize} + \item Afin de bien comprendre les particularités des différentes stratégies liées aux branches \begin{enumerate} \item on part d'une situation initiale correspondant à un dépôt - contenant uniquement une branche master avec 3 commits + contenant uniquement une branche master avec 3 \emph{commits} \item on simule un travail, correspondant à l'ajout d'une nouvelle - fonctionnalité tout en corrigeant un bug + fonctionnalité tout en corrigeant un bug sur la branche de + départ \item - on applique une des 5 stratégies présentées - \item - on présente le résultat obtenu + on effectue ces opérations en suivant une des stratégies + présentées \end{enumerate} \item - Toutes les stratégies sont techniquement correctes - \item - Les résultats obtenus varient naturellement en fonction de la - stratégie appliquée + On analyse ensuite les historiques obtenus \end{itemize} } %====================================================================== -\frame{\frametitle{Introduction} - \framesubtitle{Détail de la simulation} +\frame{\frametitle{Détail de la simulation} \begin{itemize} + \item + On développe une page HTML + \item + On part d'une branche \ex{master} comportant 3 \emph{commits} + (squelette de la page) \item On crée une nouvelle branche \ex{nouvfonc} correspondant à l'ajout d'une nouvelle fonctionnalité dans laquelle on ajoute 2 commits + (ajout d'une image) \item On revient parallèlement dans la branche \ex{master} pour y faire - une correction de bug + une correction de bug (changement de titre de la page) \item On souhaite ensuite fusionner \ex{nouvfonc} dans \ex{master} et supprimer ensuite la branche \ex{nouvfonc} - \end{itemize} + \end{itemize} +} + +%====================================================================== - \textbf{\huge Important} +\frame{\frametitle{Détail de la simulation} \begin{itemize} \item - Insérer ici une image de la situation de départ + Situation de départ + \end{itemize} + + \centerline{\includegraphics[scale=.5]{stratdep.png}} + + \begin{itemize} \item - Reprendre les images de chaque stratégie et encercler en rouge les - 2 commits de la nouvelle fonctionnalité + Les commandes suivantes sont ensuite exécutées\\ + \mygitplus{git checkout -b nouvfonc}\\ + \mygitplus{git commit -m "Ajout d'une image"}\\ + \mygitplus{git checkout master}\\ + \mygitplus{git commit -m "Changement de titre"}\\ + \mygitplus{git checkout nouvfonc}\\ + \mygitplus{git commit -m "Suppression de l'attribut class de l'image"} \end{itemize} } %====================================================================== - -\frame{\frametitle{Introduction} - \framesubtitle{Détail des stratégies étudiées} - \begin{enumerate} - \item - \ex{checkout master, rebase nouvfonc, delete branch nouvfonc} - \item - \ex{checkout master, merge nouvfonc, delete branch nouvfonc} - \item - \ex{checkout nouvfonc, rebase master, checkout master, merge - nouvfonc, delete branch nouvfonc} - \item - \ex{checkout nouvfonc, rebase master, checkout master, merge - -{}-no-ff nouvfonc, delete branch nouvfonc} - \item - \ex{checkout master, merge nouvfonc -{}-no-ff, delete branch - nouvfonc} - \end{enumerate} -} +\subsection{Les différentes stratégies} %====================================================================== diff --git a/stratdep.png b/stratdep.png new file mode 100644 index 0000000000000000000000000000000000000000..d3cd159810ddc880e03eebb80ce07c08ffaf9fe8 Binary files /dev/null and b/stratdep.png differ