diff --git a/git-obzornik.tex b/git-obzornik.tex index 5736845..a26232e 100644 --- a/git-obzornik.tex +++ b/git-obzornik.tex @@ -6,6 +6,7 @@ \usepackage{amssymb} \usepackage{graphicx} \usepackage{longtable} +\usepackage{fancyvrb} \usepackage{booktabs} \usepackage{array} \usepackage{calc} @@ -30,7 +31,7 @@ Git je program, ki omogoča vodenje zgodovine različic datotek v neki mapi(direktoriju). V glavnem se uporablja za upravljanje z izvorno kodo pri razvoju računalniških programov. Mnogi med nami pa ga uporabljajo -tudi pri pisanju besedil v \emph{LaTeX}-u. Poleg tega, da Git hrani +tudi pri pisanju besedil v \LaTeX-u. Poleg tega, da Git hrani zgodovino sprememb, tudi omogoča da več ljudi hkrati sodeluje pri urejanju istih datotek. Ogledali si bomo, kako Git deluje. Opisali bomo, kako Git uporabi \emph{zgoščevalne funkcije}, \emph{Merklejeva drevesa} @@ -189,11 +190,11 @@ poljubni globini. \begin{figure} \centering -\begin{verbatim} +\begin{Verbatim}[frame=single] 100644 blob 33476f4951afc28d5ac2dc0d42d82f17ac817de2 bla.txt 100644 blob 2ce22b4dc77442103f095503f1205937c1b0fcfc blabla.txt 040000 tree ae247f2a35aadade5863aec2475cf13020304b06 podmapa -\end{verbatim} +\end{Verbatim} \caption{Vsebina mape v Gitu je preprost seznam datotek in podmap ter zgostitev njihove vsebine} \end{figure} @@ -203,12 +204,12 @@ podmap \begin{figure} \centering -\begin{verbatim} +\begin{Verbatim}[frame=single] ├── bla.txt (vsebina: bla) ├── blabla.txt (vsebina: blabla) └── podmapa └── bla.txt (vsebina: bla) -\end{verbatim} +\end{Verbatim} \caption{Struktura datotek in podmap, ki jo bomo hranili v Gitu.} \end{figure} \pagebreak @@ -217,30 +218,30 @@ Git bo shranil naslednje objekte v vsebinsko naslovljivo shrambo: \begin{itemize} \item vsebino datoteke \texttt{bla.txt} -\begin{verbatim} +\begin{Verbatim}[frame=single] bla -\end{verbatim} +\end{Verbatim} v \gitobject{bc}{c1382241e267cf790ca6b3afe9fde6dcf1072f} \item vsebino datoteke \texttt{blabal.txt} -\begin{verbatim} +\begin{Verbatim}[frame=single] blabla -\end{verbatim} +\end{Verbatim} v \gitobject{2c}{e22b4dc77442103f095503f1205937c1b0fcfc} \item seznam datotek v mapi \texttt{podmapa} -\begin{verbatim} +\begin{Verbatim}[frame=single] 100644 blob bcc1382241e267cf790ca6b3afe9fde6dcf1072f bla.txt -\end{verbatim} +\end{Verbatim} v \gitobject{ae}{247f2a35aadade5863aec2475cf13020304b06} \item seznam datotek v korenski mapi -\begin{verbatim} +\begin{Verbatim}[frame=single] 100644 blob 33476f4951afc28d5ac2dc0d42d82f17ac817de2 bla.txt 100644 blob 2ce22b4dc77442103f095503f1205937c1b0fcfc blabla.txt 040000 tree ae247f2a35aadade5863aec2475cf13020304b06 podmapa -\end{verbatim} +\end{Verbatim} v \gitobject{47}{3e0bbfc9de64fdca00e611e5666788ddf664ca} \end{itemize} @@ -342,7 +343,7 @@ podatkovne strukture. \section{Posnetki stanja} -Osnovna enota v Gitu je \textbf{Vnos} (angl. \textbf{commit}). Vnos je +Osnovna enota v Gitu je \textbf{vnos} (angl. \textbf{commit}). Vnos je posnetek stanja zabeleženih datotek v trenutku, ko je bil ustvarjen. Poleg vsebine datotek vsak vnos vsebuje še metapodatke o avtorju, datumu vnosa in opisom sprememb. Podobno kot objekt tipa \emph{drevo}, je tudi @@ -350,21 +351,25 @@ vnos objekt v vsebinsko naslovljivi shrambi, ki ima določeno \textbf{zgostitev vnosa}. Zgostitev vnosa je natanko določena z vsebino shranjenih datotek in metapodatkov vnosa. -\begin{gitobject}{8dd6d4bdaeff93016bd49474b54a911131759648} +\begin{table} + \begin{Verbatim}[frame=single] tree 65c47feec7465e80492620a48206793e078702e0 parent 16f2994757f1213935b8edb9ae7fee3a8e9ec98d author MV 1765235698 +0100 committer MV 1765235698 +0100 Dodaj bla -\end{gitobject} +\end{Verbatim} +\caption{Vnos v Gitu je shranjen v podatkovno shrambo pod imenom, +ki je zgostitev vsebine vnosa: \gitobject{8d}{d6d4bdaeff93016bd49474b54a911131759648}.} +\end{table} Vsak vnos je povezan s točno določenim posnetekom vsebine korenskega datotečnega drevesa, ki ga identificira zgostitev. Poleg tega so -posamezni vnosi so povezani v \textbf{usmerjen acikličen graf (DAG)}, ki -predstavlja zgodovino sprememb. Vsak \textbf{vnos} je \textbf{vozlišče} -v grafu. Vsak vnos izhaja iz enega ali več starševskih vnosov. Izjema je -prvi vnos. \textbf{Povezave} v grafu povezujejo vnose z njihovimi +posamezni vnosi so povezani v \emph{usmerjen acikličen graf}, ki +predstavlja zgodovino sprememb. Vsak vnos je \emph{vozlišče} +v grafu in izhaja iz enega ali več starševskih vnosov. Izjema je +prvi vnos. Povezave v grafu povezujejo vnose z njihovimi starši. \begin{figure} @@ -667,6 +672,6 @@ zgodovino nastajanja tega članka. Pri pripravi dokumenta sem uporabil Gemini 3. Vse odgovore sem preveril in uredil po svoje. -\bibliographystyle{plain} +\bibliographystyle{plainurl} \bibliography{reference} \end{document}