diff options
author | Boud Roukema <boud@cosmo.torun.pl> | 2020-04-23 02:25:43 +0200 |
---|---|---|
committer | Boud Roukema <boud@cosmo.torun.pl> | 2020-04-23 02:25:43 +0200 |
commit | e1adce48eaaf1f83ed442ba07093f2f28ee5ecd9 (patch) | |
tree | 75d09f770a1af1477f35316f915002cf3838090b | |
parent | 59715dbdb3582707e0b2d87c797f5e21ea716894 (diff) |
4.4 Project analysis - git branches
Reduction by 15 words. "Branch" is fine as a verb, and "off"
is fine as a preposition; there's no need for a second preposition.
"We branched off the main forest path onto a smaller path".
-rw-r--r-- | paper.tex | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -626,12 +626,12 @@ For the current version of this paper, it expands to \projectversion. \subsection{Projects as Git branches of Maneage} \label{sec:projectgit} -Maneage contains only plain-text files, and therefore it can be maintained under version control systems (currently using Git). -Every commit in the version-controlled history contains \emph{a complete} snapshot of the data lineage (for more, see the completeness principle \ref{principle:complete}). -Maneage is maintained by its developers in a central branch, which we will call \inlinecode{man\-eage} hereafter. -The \inlinecode{man\-eage} branch contains all the low-level infrastructure, or skeleton, that is necessary for any project as described in the sections above. -As mentioned in Section \ref{sec:maneage}, to start a new project, users simply clone it from its reference repository and build their own Git branch over it -This is demonstrated in Figure \ref{fig:branching}(a) where a project has started by branching-off of commit \inlinecode{0c120cb}. +Maneage contains only plain-text files. It can thus be efficiently maintained under version control systems (currently using Git). +Every commit in the version-controlled history contains \emph{a complete} snapshot of the data lineage (see the completeness principle \ref{principle:complete}). +Maneage is maintained by its developers in a central branch, \inlinecode{man\-eage}. +The \inlinecode{man\-eage} branch contains all the low-level infrastructure, a skeleton, that is needed by any new project. +To start a new project (Section \ref{sec:maneage}), users clone \inlinecode{man\-eage} from its reference repository and build their own Git branch or fork. +This is demonstrated in Figure \ref{fig:branching}(a), where a project has started by branching off commit \inlinecode{0c120cb}. %% Exact URLs of imported images. %% Collaboration icon: https://www.flaticon.com/free-icon/collaboration_809522 @@ -641,7 +641,7 @@ This is demonstrated in Figure \ref{fig:branching}(a) where a project has starte \includetikz{figure-branching} \vspace{-3mm} \caption{\label{fig:branching} Harvesting the power of version-control in project management with Maneage. - Maneage is maintained as a core branch, with projects created by branching-off of it. + Maneage is maintained as a core branch, with projects created by branching off it. (a) shows how projects evolve on their own branch, but can always update their low-level structure by merging with the core branch (b) shows how a finished/published project can be revitalized for new technologies simply by merging with the core branch. Each Git ``commit'' is shown on their branches as colored ellipses, with their hash printed in them. @@ -650,14 +650,14 @@ This is demonstrated in Figure \ref{fig:branching}(a) where a project has starte } \end{figure} -After a project starts, Maneage will evolve, for example, new features will be added or low-level bugs will be fixed. -Because all projects branch-off from the same branch that these infrastructure improvements are made, updating the project's low-level skeleton is as easy as merging the \inlinecode{maneage} branch into the project's branch. -For example, in Figure \ref{fig:branching}(a), see how Maneage's \inlinecode{3c05235} commit has been merged into project's branch trough commit \inlinecode{2ed0c82}. +After a project starts, Maneage will evolve. For example, new features will be added or low-level bugs will be fixed. +Because all projects branch off the same branch that these infrastructure improvements are made, updating the project's low-level skeleton is as easy as merging the \inlinecode{maneage} branch into the project's branch. +For example, in Figure \ref{fig:branching}(a), see how Maneage's \inlinecode{3c05235} commit has been merged into project's branch through commit \inlinecode{2ed0c82}. This allows infrastructure improvements and fixes to be easily propagated to all projects. -Another useful scenario is reviving a finished/published project at later date, possibly by other researchers as shown in Figure \ref{fig:branching}(b), e.g., assuming the original project was completed years ago, and is no longer directly executable. +Another useful scenario is reviving a finished/published project at a later date, possibly by other researchers as shown in Figure \ref{fig:branching}(b), e.g., assuming the original project was completed years ago, and is no longer directly executable. Other scenarios include projects that are created by merging various other projects. -Modern version control systems provide many more capabilities that can be leveraged through Maneage in project management, thanks to the shared branch it has with \emph{all} derived projects, and that it is complete (\ref{principle:complete}). +Modern version control systems provide many more capabilities that can be leveraged through Maneage in project management, thanks to the shared branch it has with \emph{all} derived projects, and thanks to its completeness (\ref{principle:complete}). \subsection{Multi-user collaboration on single build directory} \label{sec:collaborating} |