Vincent Rabeux avatar Vincent Rabeux committed 02efd60

Added latex sources.

Comments (0)

Files changed (8)

sujet/enteteTD.sty

+%-*-LaTeX-*-
+% d\'efinition de tous les en-tetes
+
+
+
+%----------------------------------------------------------
+% MACRO EXO
+%----------------------------------------------------------
+\newcounter{NumroExo}
+\newcommand{\exo}[1]{
+   \stepcounter{NumroExo}
+   \medskip\noindent \textbf{Exercice \arabic{NumroExo}~: #1}
+}
+\newcommand{\exost}{
+   \stepcounter{NumroExo}
+   \medskip\noindent \textbf{Exercice \arabic{NumroExo}~:}
+}
+%\newcommand{\exo}[2]{
+%   \stepcounter{NumroExo}
+%   \medskip\noindent \textbf{Exercice\(^{#1}\) \arabic{NumroExo}~: #2}
+%}
+%----------------------------------------------------------
+
+
+
+
+%----------------------------------------------------------
+% en-t\^ete des feuilles TD/TP:
+% param\`etre 1: nom de l'UV
+% param\`etre 2: fili\`ere
+% param\`etre 3: titre
+%----------------------------------------------------------
+\newcommand{\TDHead}[4]{
+\setcounter{page}{1}
+\begin{center}
+\mbox{IUT Bordeaux 1 - D\'epartement Informatique}\hfill\mbox{#1}\\
+\mbox{#2}\hfill\mbox{2011--2012}\\[0.5cm]
+\medskip
+\hrule
+\ifthenelse{\not\equal{#3}{}}
+      {\textbf{#3} \vspace{0.2cm} \hrule}{}
+\vspace{0.2cm}
+\end{center}
+}
+
+%-----------------------------------------------------------
+
+
+% en-t\^ete des partiels et examen final:
+% param\`etre 1: fili\`ere
+% param\`etre 2: nom de l'UV
+% param\`etre 3: ann\'ee
+% param\`etre 4: ann\'ee
+% param\`etre 5: partiel ou exam
+% param\`etre 6: dur\'ee en pr\'ecisant heures
+\newcommand{\ExamHead}[6]{
+{\large
+\begin{center}
+\mbox{Universit\'e de Nice-Sophia Antipolis}\hfill\mbox{#1}\\
+\mbox{#2}\hfill\mbox{19#3--19#4}\\[0.5cm]
+#5\\[1cm]
+\end{center}
+}
+\begin{quote}
+\textbf{Dur\'ee :} #6\\
+Tous documents autoris\'es
+\end{quote}
+}
+
+% AUTRE en-t\^ete des partiels et examen final:
+% param\`etre 1: fili\`ere
+% param\`etre 2: nom de l'UV
+% param\`etre 3: ann\'ee
+% param\`etre 4: ann\'ee
+% param\`etre 5: partiel ou exam
+% param\`etre 6: dur\'ee en pr\'ecisant heures
+% param\`etre 7: documents autoris\'es ou non
+\newcommand{\ExamBisHead}[7]{
+{\large
+\begin{center}
+\mbox{Universit\'e de Nice-Sophia Antipolis}\hfill\mbox{#1}\\
+\mbox{#2}\hfill\mbox{19#3--19#4}\\[0.5cm]
+#5\\[1cm]
+\end{center}
+}
+\begin{quote}
+\textbf{Dur\'ee :} #6\\
+#7
+\end{quote}
+}
+
+% en-t\^ete des interro:
+% param\`etre 1: fili\`ere
+% param\`etre 2: nom de l'UV
+% param\`etre 3: ann\'ee
+% param\`etre 4: ann\'ee
+% param\`etre 5: num\'ero
+% param\`etre 6: dur\'ee
+% param\`etre 7: avec ou sans documents
+\newcommand{\CcHead}[7]{
+{\large
+\begin{center}
+\mbox{Universit\'e de Nice-Sophia Antipolis}\hfill\mbox{#1}\\
+\mbox{#2}\hfill\mbox{19#3--19#4}\\[0.5cm]
+Interrogation \'ecrite N$^\circ$ #5\\[1cm]
+\end{center}
+}
+\begin{quote}
+\textbf{Dur\'ee :} #6\\
+#7
+\end{quote}
+}
+
+
+% option sujet.sty 15-Mar-93
+
+\RequirePackage{ifthen}
+
+
+%\makeentete{Universite}{Formation}{duree}
+%           {autorises?non/oui}{examen}{recommendations}
+
+\newcommand{\makeentete}[6]{
+
+\newlength{\SujetSauveLg}
+\setlength{\SujetSauveLg}{\parindent}
+\setlength\parindent{0truecm}
+
+#1\hfill\@date \\
+#2\hfill\ Dur\'ee:~#3\\[0.5cm]
+\centerline{\bfseries #4}\\
+%\centerline{\bfseries Travaux Pratiques}\\[0.4cm]
+\hrule
+\ifthenelse{\not\equal{#6}{}}
+      {\emph{#6} \vspace{0.2cm} \hrule}{}
+\vspace{0.2cm}
+
+\setlength{\parindent}{\SujetSauveLg}
+}
+
+
+
+
+%\newcommand{\exo}{
+%   \stepcounter{NumroExo}
+%   \par\noindent\arabic{NumroExo})
+%}
+
+\parindent=1.25em
+\parskip=1ex
+
+
+
+
+
+
+
+
+
+
Added
New image
Added
New image
Added
New image

Binary file added.

sujet/initscm.tex

+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\documentclass[a4,12pt]{article}
+\usepackage{minitoc}
+
+%%% Necessaire pour la nouvelle norme des fontes %%%
+%%% et les caracteres francais                   %%%
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}     
+\usepackage[francais]{babel}  
+%%% -------------------------------------------- %%%
+
+%%% A utiliser en DRAFT - visualisation des refs %%%
+%%% \usepackage{showkeys}
+%%% -------------------------------------------- %%%
+
+%%% Modification globale des marges              %%%
+\usepackage{vmargin}
+\setmarginsrb{3cm}{2cm}{3cm}{2cm}{0cm}{2cm}{0cm}{1cm}
+%%% -------------------------------------------- %%%
+
+%%% Gestion des entetes de pages                 %%%
+%\usepackage{fancyhdr}
+%\pagestyle{headings} %headings fancy
+
+\usepackage{epsfig}
+\usepackage{color}
+\usepackage{noitemsep}
+\usepackage{algorithm2e}
+\usepackage{enteteTD}
+%\input{macroAlgo}
+%\usepackage{here}
+\usepackage{multicol}
+
+\usepackage{latexsym}
+
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{hyperref}
+
+\newcommand{\texthline}{\noindent \hbox{\raisebox{0.4em}{\vrule depth 0pt height 0.4pt width \textwidth}}} 
+
+\RequirePackage{listings}
+\renewcommand*\lstlistingname{Source}
+
+\definecolor{vert}{rgb}{0.2,0.6,0.4} 
+\lstset{frame=tb, breaklines=true, basicstyle=\ttfamily,backgroundcolor=\color{white},basicstyle=\small, keywordstyle=\color{blue}, commentstyle=\color{vert}, stringstyle=\color{red}, identifierstyle=\ttfamily}
+
+\begin{document}
+
+% Recap 1er TD :
+% - mvn clean install !!!
+
+\TDHead{Initiation DVCS}{Semestre 2}{Initiation DVCS}
+
+
+\tableofcontents
+
+\section{Les VCS}
+
+Les VCS (Version Control Systems) sont des outils utilisés par les développeurs pour garder un historique de leurs codes sources. Chaque modification peut être validée (changeset) et enregistrée pour que le développeur puisse revenir dans le temps s' il y a eu un problème. Il existe un grand nombre de systèmes VCS :
+\begin{itemize}
+	\item CVS
+	\item SVN
+\end{itemize}
+
+Ces systèmes se basent sur un dépôt de source centraliser où chaque développeur peut ajouter ses changements. On parle de commit. Les autres développeurs peuvent alors se mettre à jour. On parle d'update. Voir figure \ref{vcs}.
+
+\begin{figure}[htbp]
+\begin{center}
+\includegraphics[width=300px]{img/vcs.png}
+\caption{Commit et Update sur VCS}
+\label{vcs}
+\end{center}
+\end{figure}
+
+
+Plus récemment, des systèmes décentralisés ont vu le jour. On parle de DVCS (Decentralized Version Control Systems). Les plus connus sont :
+\begin{itemize}
+	\item Mercurial 
+	\item Git
+\end{itemize}
+Ici le principe est radicalement différent : chaque développeur possède un dépôt sur lequel il peut valider ses changements. Les développeurs se synchronisent ensuite avec un ou plusieurs autres dépôts via les opérations de push et de pull. Voir figure \ref{dvcs}.
+
+\begin{figure}[htbp]
+\begin{center}
+\includegraphics[width=300px]{img/dvcs.png}
+\caption{Commit, Update, Push et Pull sur DVCS}
+\label{dvcs}
+\end{center}
+\end{figure}
+
+Dans ce TP nous utiliserons Mercurial.
+
+\section{Les premiers pas avec Mercurial}
+\subsection{Configuration}
+
+\paragraph{}
+Dans le fichier \$HOME/.hgrc ajoutez les lignes suivantes :
+\begin{lstlisting}
+[ui]
+username = Prenom Nom <votreadreesse@iut.lerest.fr>
+editor = emacs 
+\end{lstlisting}
+Ce fichier permet d'associer votre nom et adresse email à chaque validation de changement que vous réaliserez (\emph{commit}). \textbf{Attention : } Comme vous travaillez à deux sur la même machine il est nécessaire de changer ce fichier à chaque fois que vous changerez d'utilisateurs. Utilisez des commentaires :
+\begin{lstlisting}
+[ui]
+#username = Prenom Nom <votreadreesse@iut.lerest.fr>
+username = Super Noob <sonadreesse@iut.lerest.fr>
+editor = emacs 
+\end{lstlisting}
+
+\subsection{Création d'un dépôt}
+\paragraph{}
+ Avant toute chose, il est nécessaire de créer un dépôt de source. Cela doit être fait par une seule et même personne avant le début du projet :
+\begin{lstlisting}
+#Creation du projet :
+mkdir MonProjet
+cd MonProjet 
+#Initialisation du depot
+hg init
+#Creation d'un fichier readme
+touch README.md
+#Ajout du fichier README.md au depot
+hg add README.md
+#Validation des changements (ajout du fichier et init)
+hg commit -m "Init"
+\end{lstlisting}
+
+\subsection{Exercices}
+\paragraph{Créer un dépôt et ajouter des fichiers}
+\begin{enumerate}
+	\item Créez un nouveau dépôt (nommé Bidon ?). Avec un fichier README.md et un premier commit.
+	\item Ajoutez le texte ``modification 1'' dans le fichier README.md en respectant la syntaxe de type Markdown. 
+	\item Commitez vos changements (\emph{hg commit}) avec un message approprié.
+	\item Créez un nouveau dossier (nommé NouveauDossier ?) et contenant deux fichiers : fic1.md et fic2.md.
+	\item Ajouter l'ensemble du dossier, avec la commande \emph{hg add}, au dépôt de source.
+	\item Commitez. 
+	\item À la racine du projet, lancer la commande \emph{ls -al}. À quoi sert le dossier \emph{.hg} ?
+\end{enumerate}
+
+
+\paragraph{Revenir en arrière}
+\begin{enumerate}
+	\item  Ajoutez le texte ``modification 2'' dans le fichier README.md.
+	\item Commitez.
+	\item Lister l'ensemble des changements avec la commande \emph{hg log}
+	\item Revenez à la version 1 avec la commande \emph{hg update -c NUM\_VERSION}. 
+	\item Revenez à la version courante avec la commande \emph{hg update}.
+\end{enumerate}
+
+
+
+\section{Travaillez à plusieurs}
+
+\subsection{Clone, Push et Pull}
+\paragraph{}
+Pour travailler à plusieurs sur un même dépôt, il est tout d'abord nécessaire de \emph{cloner} un dépôt existant. Pour l'instant, nous supposons que les deux développeurs sont sur la même machine :
+\begin{lstlisting}
+#Developpeur 1:
+hg clone Bidon Bidon-dev1
+
+#Developpeur 2:
+hg clone Bidon Bidon-dev2
+\end{lstlisting}
+L'opération de clone créer un dossier Bidon-dev1 pour le premier développeur, et un dossier  Bidon-dev2 pour le second.
+
+
+\subsection{Exercices :}
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item Cloner le dossier Bidon vers Bidon-votrenom
+\end{enumerate}
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item Cloner le dossier Bidon vers Bidon-votrenom
+\end{enumerate}
+
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item Ajoutez le texte ``modification 3'' dans le fichier Bidon-votrenom/README.md.
+	\item Commitez.
+	\item Pusher avec la commande \emph{hg push}.
+\end{enumerate}
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item Puller les changements de Dev1 avec la commande \emph{hg pull}.
+	\item Les changements de Dev1 sont alors dans le fichier .hg mais pas dans votre espace de travail. Comment mettre à jour l'espace de travail ? Lancer la bonne commande. 
+	\item Ajoutez le texte ``modification 4'' dans le fichier Bidon-votrenom/README.md.
+	\item Commitez.
+	\item Pusher vos changements.
+\end{enumerate}
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Mettez-vous à jour.
+\end{enumerate}
+
+\subsection{Modifications concurrentes}
+\paragraph{}
+Comme mercurial est un DVCS il est par nature décentralisé. Ainsi, plusieurs développeurs peuvent commiter des changements en même temps. À vrai dire la règle est de toujours commiter avant de se mettre à jour (cela permet de revenir à sa version si l'on découvre des problèmes après une mise à jour). Le fait de commiter deux versions en parallèle va rendre l'historique non linéaire. Il faudra merger (fusionner) les deux versions avec la commande \emph{hg merge}.
+
+
+\begin{figure}[htbp]
+\begin{center}
+\includegraphics[width=200px]{img/treeDVCS.png}
+\caption{Versions en parallèle}
+\label{default}
+\end{center}
+\end{figure}
+
+
+
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item cd Bindon-votrenom
+	\item Ajoutez le texte ``modification 1'' dans le fichier Bidon-votrenom/NouveauDossier/fic1.md.
+	\item Commitez.
+\end{enumerate}
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item cd Bindon-votrenom
+	\item Ajoutez le texte ``modification 1'' dans le fichier Bidon-votrenom/NouveauDossier/fic2.md. (ATTENTION fic2.md).
+	\item Commitez.
+\end{enumerate}
+
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Pushez vos changements.
+\end{enumerate}
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Puller les changements de Dev1.
+	\item Que vous dit la commande \emph{hg update}? Pourquoi ?
+	\item Lancer la commande \emph{hg heads} pour voir les deux changeset concurrents.
+	\item Pour visualiser l'arbre des versions, nous allons utiliser une extension (graphlog). Éditez le fichier \$HOME/.hgrc et ajoutez les lignes suivantes :
+\begin{lstlisting}
+[extensions]
+graphlog = 
+\end{lstlisting}
+	Lancer la commande \emph{hg log -G} pour voir l'arbre des changements.
+	\item Nous avons donc deux versions en parallèle, qu'il faut fusionner. Pour cela lancer la commande \emph{hg merge}. 
+	\item Vérifiez que tous les changements sont bien fusionnés.
+	\item Commitez la fusion avec \emph{hg commit} et le message \emph{Merged}.
+	\item Pushez !
+\end{enumerate}
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Mettez-vous à jour.
+\end{enumerate}
+
+
+\subsection{Les conflits}
+\paragraph{}
+Il peut arriver que la fusion ne puisse pas se faire automatiquement. On parle de conflits. Les conflits arrivent en général quand deux développeurs modifient les mêmes lignes dans le même fichier.
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item cd Bidon-votrenom
+	\item Ajoutez le texte ``conflit dev2'' dans le fichier README.md.
+	\item Commitez, Pushez
+\end{enumerate}
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Assurez-vous que votre nome est bien ``activé'' dans le fichier \$HOME/.hgrc.
+	\item cd Bidon-votrenom
+	\item Ajoutez le texte ``conflit dev1'' dans le fichier README.md
+	\item Commitez.
+	\item Essayer de vous mettre à jour. Quel est le message d'erreur ?
+	\item Fusionner le conflit à a la main en modifiant README.md ( vous pouvez garder à la fois vos modifications et celle de Dev2).
+	\item Une fois le conflit résolut il faut le ``dire'' à mercurial avec la commande \emph{hg resolve --mark README.md}.
+	\item Commitez la fusion avec le message \emph{Merged}.
+	\item Pushez
+\end{enumerate}
+
+
+\section{Bitbucket}
+\paragraph{}
+Bitbucket est un site web permettant d'héberger des dépôts Mercurial sur internet de fa\c con privée ou publique. C'est par ce site web que vous pourrez travailler sur les projets de l'IUT.
+
+\begin{enumerate}
+	\item créez-vous un compte \url{https://bitbucket.org/account/signup/}
+	\begin{enumerate}
+		\item utilisez un nom d'utilisateur du type \emph{prenom\_nom} ou \emph{pnom} et pas un pseudo genre TitiLeLapin !
+		\item ainsi que l'adresse email de l'IUT.
+	\end{enumerate}
+\end{enumerate}
+
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}	
+	\item Créez un nouveau projet appelé 2013-ASR2-Mercurial-votrenom. Sélectionnez Mercurial comme type de dépôt et activez les options Wiki et Issue Tracking.
+	\item Clickez sur le bouton clone du projet (en haut à gauche), et copier-coller la ligne de commande dans votre terminal.
+	\item Toujours dans le terminal, déplacer dans le dossier créé.
+	\item Créez un fichier README.md contenant une petite description de ce cours et le nom de votre binôme (Dev2).
+	\item Ajoutez le fichier, commitez et pushez.
+	\item Dans la configuration du projet (sur bitbucket) ajoutez, en tant que membre, moi (vrabeux) et votre binôme (dev2).
+\end{enumerate}
+
+
+\textbf{Pour Dev2 :}
+\begin{enumerate}
+	\item Loggez-vous sur bitbucket, allez sur le projet de Dev1, clonez-le.
+	\item Créez un dossier MercurialTutorial contenant un fichier tuto.md.
+	\item Dans le fichier tuto.md, ajoutez sous forme de liste de type markdown, les sections de ce même PDF.
+	\item Commitez et pushez.
+	\item Dans Bitbucket, allez dans la partie Issues, et clicher sur \emph{Create your first issue}.
+	\item Titre : Écrire partie 1 - Les VCS.
+	\item Description : à vous de voir, mais cela soit être détaillé.
+	\item Assignee : Dev1 !!
+	\item Validez.
+\end{enumerate}
+
+
+\textbf{Pour Dev1 :}
+\begin{enumerate}
+	\item Allez voir la demande de Dev2. Accomplissez-la, commitez, 
+	\item Tagguer la version courante avec un petit nom (part1) avec la commande \emph{hg tag part1}.
+	\item Pushez.
+	\item Fermer la demande sur bitbucket en précisant le numéro de changeset qui corrige la demande.
+\end{enumerate}
+
+
+\section{TM}
+\paragraph{}
+Pour le 1er Avril, créez un projet (imaginaire) de votre choix :
+\begin{itemize}
+	\item Celui-ci devra contenir plusieurs fichiers et dossiers. 
+	\item Chaque fichier doit être modifié (dans l'historique) par l'ensemble des membres.
+	\item Attention : plus l'historique des versions est linéaire moins le travail sera bon.
+	\item Il doit y avoir plusieurs demandes sur bitbucket. Chaque demande doit être fermé et préciser le numéro du changeset qui valide la demande.
+	\item Envoyez-moi l'URL du projet par mail.
+\end{itemize}
+
+
+ 
+\end{document}

sujet/macroAlgo.tex

+\SetKwInput{entite}{Entit\'e}
+\SetKwInput{type}{Type}
+\SetKwInput{const}{Const}
+\SetKwInput{var}{Var}
+\SetKw{ret}{Retourner}
+\SetKw{retour}{Retourner}
+\SetKwFor{tq}{Tant Que}{Faire}{}
+\SetKwFor{pour}{Pour}{Faire}{}
+\SetKw{A}{\`a}
+\SetKwRepeat{repeter}{R\'ep\'eter}{Jusqu'\`a}
+\SetKwIf{si}{sinon}{Si}{Alors}{Sinon}{}
+\SetKwBlock{deb}{D\'ebut}{Fin}
+\SetKw{E}{\underline{E}}
+\SetKw{ES}{\underline{ES}}
+\SetKw{out}{\underline{S}}
+\SetKw{fct}{Fonction}
+\SetKw{act}{Action}
+\SetKw{nul}{\textsc{null}}
+\SetKw{non}{\textsc{non}}
+\SetKw{et}{\textsc{et}}
+\SetKw{eq}{$\leftarrow$}
+\SetKw{Neq}{$<>$}
+\SetKwSwitch{selon}{cas}{autre}{Selon Que}{}{}{Sinon :}{Fin Selon}
+\newcommand{\de}{\textbf{de}~}
+\newcommand{\pas}{\textbf{par pas de~}}

sujet/noitemsep.sty

+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{noitemsep}
+              [1999/07/19 v1.0 Supprime les espaces entre item]
+
+%----Le laboratoire de robotique de l'Institut de recherche d'Hydro-Quebec-----
+% 
+% Nom     : \noitemsep, \doitemsep
+% Fonction: Elimination de l'espace entre les items des environnements
+%           \itemize, \enumerate et \description.
+% Fichiers: noitemsep.sty
+% Notes   : 
+% 
+% Cree    : 15 fevrier 93 ------- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
+% Modifie : 10 mai 93 ---------2- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
+%           Copyright (c) 1993 Hydro-Quebec
+% 
+% Historique: 
+% 
+% 10 mai 93 ---------2- Martin Boyer <mboyer@ireq-robot.hydro.qc.ca>
+%       Ajoute \noitemsep et \doitemsep.
+%------------------------------------------------------------------------------
+%% Bring items closer together in list environments
+% Prevent infinite loops
+\let\orig@Itemize =\itemize         
+\let\orig@Enumerate =\enumerate
+\let\orig@Description =\description
+% Zero the vertical spacing parameters
+\def\Nospacing{\itemsep=0pt\topsep=0pt\partopsep=0pt\parskip=0pt\parsep=0pt}
+% Redefinition de art12.sty pour commencer a la marge de gauche
+%\leftmargini 1.2em      % 2.5em
+
+\def\noitemsep{
+% Redefine the environments in terms of the original values
+\renewenvironment{itemize}{\orig@Itemize\Nospacing}{\endlist}
+\renewenvironment{enumerate}{\orig@Enumerate\Nospacing}{\endlist}
+\renewenvironment{description}{\orig@Description\Nospacing}{\endlist}
+}
+
+\def\doitemsep{
+% Redefine the environments to the original values
+\renewenvironment{itemize}{\orig@Itemize}{\endlist}
+\renewenvironment{enumerate}{\orig@Enumerate}{\endlist}
+\renewenvironment{description}{\orig@Description}{\endlist}
+}
+
+\noitemsep
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.