You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/07/10 09:41:36 UTC
[13/15] isis-site git commit: ISIS-1133: contributors guide
http://git-wip-us.apache.org/repos/asf/isis-site/blob/e6efa093/content/git-cookbook.html
----------------------------------------------------------------------
diff --git a/content/git-cookbook.html b/content/git-cookbook.html
deleted file mode 100644
index ca8fc2d..0000000
--- a/content/git-cookbook.html
+++ /dev/null
@@ -1,1075 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="en">
-<head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-
- <title>Git Cookbook</title>
-
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-
- <!-- No caching headers -->
- <meta http-equiv="cache-control" content="no-cache" />
- <meta http-equiv="pragma" content="no-cache" />
- <meta http-equiv="expires" content="-1" />
-
-
- <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line -->
- <link href="./css/foundation/5.5.1/foundation.css" rel="stylesheet" />
- <script src="./js/foundation/5.5.1/vendor/modernizr.js"></script>
- <link href="./css/asciidoctor/colony.css" rel="stylesheet">
- <link href="./css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-
-
-
- <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet" />
- <!--[if lt IE 9]>
- <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.ie.css" rel="stylesheet" />
- <![endif]-->
-
-
- <style type="text/css">
- /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
-/*pre.CodeRay {background-color:#f7f7f8;}*/
-.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
-.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
-.CodeRay .line-numbers strong{font-weight: normal}
-table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
-table.CodeRay td{vertical-align: top}
-table.CodeRay td.line-numbers{text-align:right}
-table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
-table.CodeRay td.code{padding:0 0 0 .5em}
-table.CodeRay td.code>pre{padding:0}
-.CodeRay .debug{color:#fff !important;background:#000080 !important}
-.CodeRay .annotation{color:#007}
-.CodeRay .attribute-name{color:#000080}
-.CodeRay .attribute-value{color:#700}
-.CodeRay .binary{color:#509}
-.CodeRay .comment{color:#998;font-style:italic}
-.CodeRay .char{color:#04d}
-.CodeRay .char .content{color:#04d}
-.CodeRay .char .delimiter{color:#039}
-.CodeRay .class{color:#458;font-weight:bold}
-.CodeRay .complex{color:#a08}
-.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
-.CodeRay .color{color:#099}
-.CodeRay .class-variable{color:#369}
-.CodeRay .decorator{color:#b0b}
-.CodeRay .definition{color:#099}
-.CodeRay .delimiter{color:#000}
-.CodeRay .doc{color:#970}
-.CodeRay .doctype{color:#34b}
-.CodeRay .doc-string{color:#d42}
-.CodeRay .escape{color:#666}
-.CodeRay .entity{color:#800}
-.CodeRay .error{color:#808}
-.CodeRay .exception{color:inherit}
-.CodeRay .filename{color:#099}
-.CodeRay .function{color:#900;font-weight:bold}
-.CodeRay .global-variable{color:#008080}
-.CodeRay .hex{color:#058}
-.CodeRay .integer,.CodeRay .float{color:#099}
-.CodeRay .include{color:#555}
-.CodeRay .inline{color:#00}
-.CodeRay .inline .inline{background:#ccc}
-.CodeRay .inline .inline .inline{background:#bbb}
-.CodeRay .inline .inline-delimiter{color:#d14}
-.CodeRay .inline-delimiter{color:#d14}
-.CodeRay .important{color:#555;font-weight:bold}
-.CodeRay .interpreted{color:#b2b}
-.CodeRay .instance-variable{color:#008080}
-.CodeRay .label{color:#970}
-.CodeRay .local-variable{color:#963}
-.CodeRay .octal{color:#40e}
-.CodeRay .predefined{color:#369}
-.CodeRay .preprocessor{color:#579}
-.CodeRay .pseudo-class{color:#555}
-.CodeRay .directive{font-weight:bold}
-.CodeRay .type{font-weight:bold}
-.CodeRay .predefined-type{color:inherit}
-.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
-.CodeRay .key{color:#808}
-.CodeRay .key .delimiter{color:#606}
-.CodeRay .key .char{color:#80f}
-.CodeRay .value{color:#088}
-.CodeRay .regexp .delimiter{color:#808}
-.CodeRay .regexp .content{color:#808}
-.CodeRay .regexp .modifier{color:#808}
-.CodeRay .regexp .char{color:#d14}
-.CodeRay .regexp .function{color:#404;font-weight:bold}
-.CodeRay .string{color:#d20}
-.CodeRay .string .string .string{background:#ffd0d0}
-.CodeRay .string .content{color:#d14}
-.CodeRay .string .char{color:#d14}
-.CodeRay .string .delimiter{color:#d14}
-.CodeRay .shell{color:#d14}
-.CodeRay .shell .delimiter{color:#d14}
-.CodeRay .symbol{color:#990073}
-.CodeRay .symbol .content{color:#a60}
-.CodeRay .symbol .delimiter{color:#630}
-.CodeRay .tag{color:#008080}
-.CodeRay .tag-special{color:#d70}
-.CodeRay .variable{color:#036}
-.CodeRay .insert{background:#afa}
-.CodeRay .delete{background:#faa}
-.CodeRay .change{color:#aaf;background:#007}
-.CodeRay .head{color:#f8f;background:#505}
-.CodeRay .insert .insert{color:#080}
-.CodeRay .delete .delete{color:#800}
-.CodeRay .change .change{color:#66f}
-.CodeRay .head .head{color:#f4f}
-
- pre.CodeRay code {
- background-color: inherit;
- border-style: none;
- }
-
- pre.CodeRay code > span:first-child {
- margin-left: -5px;
- }
-
- .literalblock pre,
- .listingblock pre:not(.highlight),
- .listingblock pre[class="highlight"],
- .listingblock pre[class^="highlight "],
- .listingblock pre.CodeRay,
- .listingblock pre.prettyprint {
- background: rgb(253, 250, 246);
- }
- .sidebarblock .literalblock pre,
- .sidebarblock .listingblock pre:not(.highlight),
- .sidebarblock .listingblock pre[class="highlight"],
- .sidebarblock .listingblock pre[class^="highlight "],
- .sidebarblock .listingblock pre.CodeRay,
- .sidebarblock .listingblock pre.prettyprint {
- background: rgb(253, 250, 246);
- }
-
- <style>
-
- <style>
- .github-fork-ribbon-wrapper.right {
- position: fixed;
- }
- .github-fork-ribbon {
- background: #090;
- }
- .github-fork-ribbon a:hover {
- background:#0D0;
- color:#fff;
- font-size: 1.1em;
- }
- </style>
-
- <style>
- @media only screen and (min-width: 40.063em) {
- .top-bar {
- .contain-to-grid .top-bar {
- max-width: 80rem;
- }
- }
- }
- .row {
- max-width: 80rem;
- }
- </style>
-
- <style>
- .extended-quote,
- .extended-quote-first {
- margin-left: 40px;
- margin-right: 40px;
- font-style: italic;
- }
- .extended-quote-attribution {
- text-align: right;
- margin-right: 100px;
- color: #10B061;
- }
-
- .extended-quote-first:before {
- content: "\201c";
- float: left;
- font-size: 2.75em;
- font-weight: bold;
- line-height: 0.6em;
- margin-left: -0.6em;
- color: #003b6b;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- }
- </style>
-
- <style>
- body {
- position: relative;
- }
-
- *:not(pre) a > code {
- color: #210DDC;
- }
-
- *:not(pre) > code {
- background-color: inherit;
- border: none;
- font-weight: normal;
- }
-
- body div#toc li,
- body div#toc2 li {
- list-style-type: none;
- }
-
- div#doc-content {
- margin-top: 30px;
- }
-
- body div#toc li.active-region:before,
- body div#toc2 li.active-region:before {
- content: "\00BB \0020";
- margin-left: -12px;
- }
-
- body div#toc li a.active,
- body div#toc2 li a.active {
- color: red;
- }
-
- body div#toc.toc,
- body div#toc.toc2 {
- position: fixed;
- left: auto;
- padding-top: 60px;
- z-index: auto;
- background-color: white;
- border-left-color: #eee;
- border-left-style: solid;
- border-right: none;
- min-height: 2000px;
- }
-
- </style>
-
- <style>
-
- @media only screen and (min-width: 768px) {
- #toc.toc2 ul ul { margin-left: -10px; }
- }
-
-
- body div#toc .tocify-subheader ul {
- margin-bottom: 0px;
- }
-
- body div#toc .tocify-subheader li {
- font-size: 14px;
- }
- .tocify li.tocify-item, .tocify ul.tocify-item {
- line-height: 24px;
- }
-
- body div#toc li.tocify-item.active:before,
- body div#toc2 li.tocify-item.active:before {
- content: "\00BB \0020";
- margin-left: -12px;
- }
-
- body div#toc li.tocify-item.active a,
- body div#toc2 li.tocify-item.active a {
- color: red;
- }
- </style>
-
- <style>
- footer {
- margin-top: 1000px;
- }
- </style>
-
- <style>
- /* overriding colony.css stylesheet */
- .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] {
- /*padding: 1.25em 1.5625em 1.125em 1.5625em;*/
- padding: 0.3em 0.6em 0.25em 0.6em;
- }
- @media only screen and (min-width: 1280px)
- #toc.toc2 {
- /*width: 20em;*/
- width: 25em;
- }
-
- #doc-content a {
- color: #210DDC;
- }
-
- .top-bar h1 {
- border-bottom: inherit;
- }
-
- h2 {
- margin-top: 80px;
- }
- h3 {
- margin-top: 40px;
- }
- h4,h5 {
- margin-top: 30px;
- }
-
- .admonitionblock.tip > table td.content {
- color: #10B061;
- }
- .admonitionblock.note > table td.content {
- color: #B509AB;
- }
- .admonitionblock.important > table td.content {
- color: #D5810A;
- }
-
- .admonitionblock .title {
- font-size: larger;
- font-style: italic;
- }
-
- .imageblock img {
- margin-bottom: 10px;
- }
- </style>
-
- <style>
- /* from http://ben.balter.com/2014/03/13/pages-anchor-links/ */
- .header-link {
- position: absolute;
- left: -0.5em;
- opacity: 0;
-
- /*
- -webkit-transition: opacity 0.2s ease-in-out 0.1s;
- -moz-transition: opacity 0.2s ease-in-out 0.1s;
- -ms-transition: opacity 0.2s ease-in-out 0.1s;
- */
- }
-
- h2:hover .header-link,
- h3:hover .header-link,
- h4:hover .header-link,
- h5:hover .header-link,
- h6:hover .header-link {
- opacity: 1;
- }
- </style>
-
- <style>
- .top-bar
- {
- -webkit-transition-duration: .5s;
- transition-duration: .5s;
-
- -webkit-transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
- transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
-
- -webkit-transition-property: -webkit-transform;
- transition-property: transform;
- }
-
- /*
- http://osvaldas.info/auto-hide-sticky-header
- MIT license
- */
- .header--hidden
- {
- -webkit-transform: translateY( -100% );
- -ms-transform: translateY( -100% );
- transform: translateY( -100% );
-
- transition-duration: .5s;
- transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
- -webkit-transition-property: -webkit-transform;
- transition-property: transform;
- }
- </style>
-
- <style>
- #doc-content a.guide {
- color: white;
- }
- </style>
-
- <style>
- .tocify {
- margin-top: 80px;
- }
- </style>
-
-
-</script>
-
-</head>
-<body>
-
-<<div class="github-fork-ribbon-wrapper right" style="position: fixed;">
- <div class="github-fork-ribbon">
- <a href="https://github.com/apache/isis/fork">Fork me on GitHub</a>
- </div>
-</div>
-
-
-<div class="row">
-
- <div class="fixed contain-to-grid header">
- <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem">
- <ul class="title-area">
- <li class="name">
- <h1>
- <a href="/index.html">Apache Isis™</a>
- </h1>
- </li>
- <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
- <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
- </ul>
-
- <section class="top-bar-section">
- <ul class="right">
-
- <li class="has-form">
- <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
- <div class="row collapse">
- <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
- <INPUT type="hidden" name="cof" value="FORID:0">
- <INPUT class="form-control" name="q" type="text" placeholder="Search">
- </div>
- </FORM>
- </li>
-
- </ul>
-
- <!-- Left Nav Section -->
- <ul class="left">
-
- <li><a href="/documentation.html">Documentation</a></li>
- <li><a href="/downloads.html">Downloads</a></li>
- <li><a href="/help.html">Help</a></li>
- <li><a href="/asf.html">@ASF</a></li>
-
- </ul>
-
- </section>
- </nav>
- </div>
-</div>
-
-<div class="row">
-
- <div id="doc-content-left" class="large-9 medium-9 columns">
-
-
- <div id="doc-content">
- <div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p><br/><br/></p>
-</div>
-<div class="paragraph">
-<p>This page describes the commands often used while working with git. In addition to these basic commands, please make sure you have read:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="./building-isis.html">building Apache Isis</a></p>
-</li>
-<li>
-<p><a href="./git-policy.html">Git policy</a></p>
-</li>
-<li>
-<p><a href="./contributing.html">Contributing</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_modifying_existing_files">Modifying existing files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>To modify existing files:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git add filename
-git commit -m "ISIS-nnn: yada yada"</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The <code>git add</code> command adds the changes to the file(s) to the git index (aka staging area). If you were to make subsequent changes to the file these would not be committed.</p>
-</div>
-<div class="paragraph">
-<p>The <code>git commit</code> takes all the staged changes and commits them locally. Note that these changes are not shared public with Apache Isis' central git repo.</p>
-</div>
-<div class="paragraph">
-<p>You can combine these two commands using <code>-am</code> flag to git commit:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git commit -am "ISIS-nnn: yada yada"</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_adding_new_files">Adding new files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>To add a new file:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git add .
-git commit -m "ISIS-nnn: yada yada"</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Note that this sequence of commands is identical to modifying an existing file. However, it isn’t possible to combine the two steps using <code>git commit -am</code>; the <code>git add</code> is always needed when adding new files to the repo.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_deleting_files">Deleting files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>To delete a file:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git rm filename
-git commit -m "ISIS-nnn: yada yada"</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_renaming_or_moving_files">Renaming or moving files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>To rename or move a file:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git mv <i>filename</i> <i>newfilename</i>
-git commit -m "ISIS-nnn: yada yada"</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_common_workflows">Common Workflows</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The <a href="./contributing.html">contributing</a> page describes the workflow for non-committers. The <a href="./git-policy.html">Git policy</a> page describes a workflow for Apache Isis <strong>committers</strong>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_backing_up_a_local_branch">Backing up a local branch</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If committing to a local branch, the changes are still just that: local, and run risk of a disk failure or other disaster.</p>
-</div>
-<div class="paragraph">
-<p>To create a new, similarly named branch on the central repo, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git push -u origin <i>branchname</i></code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Using <code>gitk --all</code> will show you this new branch, named <strong>origin/branchname</strong>.</p>
-</div>
-<div class="paragraph">
-<p>Thereafter, you can push subsequent commits using simply:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git push</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Doing this also allows others to collaborate on this branch, just as they would for <code>master</code>.</p>
-</div>
-<div class="paragraph">
-<p>When, eventually, you have reintegrated this branch, you can delete the remote branch using:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git push origin --delete <i>branchname</i></code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>For more detail, see these blogs/posts <a href="http://www.mariopareja.com/blog/archive/2010/01/11/how-to-push-a-new-local-branch-to-a-remote.aspx">here</a> and <a href="http://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and-in-github">here</a>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_quick_change_stashing_changes">Quick change: stashing changes</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If you are working on something but are not ready to commit, then use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git stash</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If you use <code>gitk --all</code> then you’ll see new commits are made that hold the current state of your working directory and staging area.</p>
-</div>
-<div class="paragraph">
-<p>You can then, for example, pull down the latest changes using <code>git pull --rebase</code> (see above).</p>
-</div>
-<div class="paragraph">
-<p>To reapply your stash, then use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git stash pop</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Note that stashing works even if switching branches</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_ignoring_files">Ignoring files</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Put file patterns into <code>.gitignore</code>. There is one at the root of the git repo, but they can additionally appear in subdirectories (the results are cumulative).</p>
-</div>
-<div class="paragraph">
-<p>See also:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://help.github.com/articles/ignoring-files">github’s help page</a></p>
-</li>
-<li>
-<p><a href="http://www.kernel.org/pub/software/scm/git/docs/gitignore.html">man page</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_more_advanced_use_cases">More advanced use cases</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="_if_accidentally_push_to_remote">If accidentally push to remote</h3>
-<div class="paragraph">
-<p>Suppose you committed to <code>master</code>, and then pushed the change, and then decided that you didn’t intend to do that:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">C1 - C2 - C3 - C4 - C5 - C6 - C7
- ^
- master
- ^
- origin/master</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>To go back to an earlier commit, first we wind back the local <code>master</code>:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git reset --hard C5</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>where <code>C5</code> is the long sha-id for that commit.</p>
-</div>
-<div class="paragraph">
-<p>This gets us to:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">C1 - C2 - C3 - C4 - C5 - C6 - C7
- ^
- master
- ^
- origin/master</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Then, do a force push:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git push origin master --force</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If this doesn’t work, it may be that the remote repo has disabled this feature. There are other hacks to get around this, see for example <a href="http://stackoverflow.com/questions/1377845/git-reset-hard-and-a-remote-repository">here</a>.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_if_you_ve_accidentally_worked_on_code_master_code_branch">If you’ve accidentally worked on <code>master</code> branch</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If at any time the <code>git pull</code> from your upstream fails, it most likely means that you must have made commits on the <code>master</code> branch. You can use <code>gitk --all</code> to confirm; at some point in time both <code>master</code> and <code>origin\master</code> will have a common ancestor.</p>
-</div>
-<div class="paragraph">
-<p>You can retrospectively create a topic branch for the work you’ve accidentally done on <code>master</code>.</p>
-</div>
-<div class="paragraph">
-<p>First, create a branch for your current commit:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git branch <i>newbranch</i></code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Next, make sure you have no outstanding edits. If you do, you should commit them or stash them:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git stash</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Finally, locate the shaId of the commit you want to roll back to (easily obtained in <code>gitk -all</code>), and wind <code>master</code> branch back to that commit:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git checkout master
-git reset --hard <i>shaId</i> # move master branch shaId of common ancestor</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">If you’ve forgotten to prefix your commits (but not pushed)</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>One of our committers, Alexander Krasnukhin, has put together some git scripts to help his workflow. Using one of these, <code>git prefix</code>, you can just commit with proper message without bothering about prefix and add prefix only in the end <strong>before</strong> the final push.</p>
-</div>
-<div class="paragraph">
-<p>For example, to prefix all not yet prefixed commits <code>master..isis/666</code> with <code>ISIS-666</code> prefix, use:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git prefix ISIS-666 master..isis/666</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>You can grab this utility, and others, from <a href="https://github.com/themalkolm/git-boots">this repo</a>.</p>
-</div>
-</div>
-</div>
- </div>
-
- <footer>
- <hr>
- <p class="small">
- Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
- <br/>
- Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
- </p>
- </footer>
-
- </div>
-
- <div id="doc-content-right" class="large-3 medium-3 xcolumns">
- <div id="toc" class="toc2">
- <div class="fallback-toc">
- <ul class="sectlevel1">
-<li><a href="#_modifying_existing_files">Modifying existing files</a></li>
-<li><a href="#_adding_new_files">Adding new files</a></li>
-<li><a href="#_deleting_files">Deleting files</a></li>
-<li><a href="#_renaming_or_moving_files">Renaming or moving files</a></li>
-<li><a href="#_common_workflows">Common Workflows</a></li>
-<li><a href="#_backing_up_a_local_branch">Backing up a local branch</a></li>
-<li><a href="#_quick_change_stashing_changes">Quick change: stashing changes</a></li>
-<li><a href="#_ignoring_files">Ignoring files</a></li>
-<li><a href="#_more_advanced_use_cases">More advanced use cases</a>
-<ul class="sectlevel2">
-<li><a href="#_if_accidentally_push_to_remote">If accidentally push to remote</a></li>
-</ul>
-</li>
-<li><a href="#_if_you_ve_accidentally_worked_on_code_master_code_branch">If you’ve accidentally worked on <code>master</code> branch</a></li>
-<li><a href="#_if_you_ve_forgotten_to_prefix_your_commits_but_not_pushed">If you’ve forgotten to prefix your commits (but not pushed)</a></li>
-</ul>
- </div>
- </div>
- </div>
-
-</div>
-
-
-<script src="./js/foundation/5.5.1/vendor/jquery.js"></script>
-<script src="./js/foundation/5.5.1/foundation.min.js"></script>
-
-
-<link href="./css/jquery.tocify/1.9.0/jquery.tocify.css" rel="stylesheet">
-<script src="./js/jqueryui/1.11.4/jquery-ui.min.js"></script>
-<script src="./js/jquery.tocify/1.9.0/jquery.tocify.js"></script>
-
-
-
-<script type="text/javascript">
- $(function () {
- $("#toc").tocify({
- scrollTo: 50,
- extendPage: true,
- context: "#doc-content",
- highlightOnScroll: true,
- hashGenerator: "pretty",
- hideEffect: "slideUp",
- selectors: "h2,h3,h4,h5"
- });
- $(".fallback-toc").hide();
- });
-</script>
-
-<script type="text/javascript">
-
- /****
-
- $(document).foundation();
-
- $(document).ready(function(){
- // Cache selectors
- var lastId,
- topMenu = $("div#toc ul"),
- topMenuHeight = 100,
-
- menuItems = topMenu.find("a"),
- menuItemsHrefs = menuItems.map(function(){
- var item = $($(this).attr("href"));
- if (item.length) { return item; }
- });
-
- // Bind click handler to menu items to scroll animation
- menuItems.click(function(e){
- var href = $(this).attr("href"),
- offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
- $('html, body').stop().animate({
- scrollTop: offsetTop
- }, 300);
-
- e.preventDefault();
- });
-
- // Bind to scroll of window
- $( window ).scroll(function(){
-
- // Get container scroll position
- var fromTop = $(this).scrollTop()+topMenuHeight;
-
- var cur = menuItemsHrefs.map(function(){
- if ($(this).offset().top < fromTop)
- return this;
- });
-
- // Get the id of the current element
- cur = cur[cur.length-1];
-
- var id = cur && cur.length ? cur[0].id : "";
-
- if (lastId !== id && id) {
- scrollTo(id);
- }
-
- window.history.pushState({}, "", window.location.origin + window.location.pathname + "#" + id);
- });
-
- scrollTo = function(id) {
- lastId = id;
-
- menuItems
- .removeClass("active");
-
- menuItems
- .parents()
- .removeClass("active-region");
-
- menuItems
- .parents("ul").hide();
-
- menuItems
- .filter("[href=#"+id+"]")
- .addClass("active");
-
- menuItems
- .filter("[href=#"+id+"]")
- .parents("ul").show();
-
- menuItems
- .filter("[href=#"+id+"]")
- .parent().children("ul").show();
-
- menuItems
- .filter("[href=#"+id+"]")
- .parents("li").addClass("active-region");
-
- }
- menuItems
- .removeClass("active");
-
- menuItems
- .parents()
- .removeClass("active-region");
-
- var syncMenuItem;
- if(window.location.hash!=="") {
- var menuItemFor = $.grep(menuItems, function(e) {
- return e.hash === window.location.hash;
- });
- console.log(menuItemFor);
- if(menuItemFor.length === 1) {
- syncMenuItem = menuItemFor[0];
- }
- }
-
- if(!syncMenuItem){
- syncMenuItem = menuItems[0];
- }
-
- $(syncMenuItem).click();
-
- });
-
- ***/
-
-</script>
-
-<script type="text/javascript">
-
-$(document).ready(function(){
- if("Documentation" === "Git Cookbook") {
- console.log( "processing 'Documentation'" );
-
- $("#doc-content-left").removeClass("large-9").removeClass("medium-9").addClass("large-12").addClass("medium-12");
- $("#doc-content-right").removeClass("large-3").removeClass("medium-3").hide();
- }
-
-});
-
-</script>
-
-
-<script>
-
-$( document ).ready(function() {
-
- (function() {
- $(function() {
- return $("#doc-content h2, #doc-content h3, #doc-content h4, #doc-content h5, #doc-content h6").each(function(i, el) {
- var $el, icon, id;
- $el = $(el);
- id = $el.attr('id');
- icon = '<i class="fa fa-link"></i>';
- if (id) {
- return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
- }
- });
- });
- }).call(this);
-
-
-
- /*
- http://osvaldas.info/auto-hide-sticky-header
- MIT license
- */
- ;( function( $, window, document, undefined )
- {
- 'use strict';
-
- var elSelector = '.header',
- elClassHidden = 'header--hidden',
- throttleTimeout = 500,
- $element = $( elSelector );
-
- if( !$element.length ) return true;
-
- var $window = $( window ),
- wHeight = 0,
- wScrollCurrent = 0,
- wScrollBefore = 0,
- wScrollDiff = 0,
- $document = $( document ),
- dHeight = 0,
-
- throttle = function( delay, fn )
- {
- var last, deferTimer;
- return function()
- {
- var context = this, args = arguments, now = +new Date;
- if( last && now < last + delay )
- {
- clearTimeout( deferTimer );
- deferTimer = setTimeout( function(){ last = now; fn.apply( context, args ); }, delay );
- }
- else
- {
- last = now;
- fn.apply( context, args );
- }
- };
- };
-
- $window.on( 'scroll', throttle( throttleTimeout, function()
- {
- dHeight = $document.height();
- wHeight = $window.height();
- wScrollCurrent = $window.scrollTop();
- wScrollDiff = wScrollBefore - wScrollCurrent;
-
- if( wScrollCurrent <= 0 ) // scrolled to the very top; element sticks to the top
- $element.removeClass( elClassHidden );
-
- else if( wScrollDiff > 0 && $element.hasClass( elClassHidden ) ) // scrolled up; element slides in
- $element.removeClass( elClassHidden );
-
- else if( wScrollDiff < 0 ) // scrolled down
- {
- if( wScrollCurrent + wHeight >= dHeight && $element.hasClass( elClassHidden ) ) // scrolled to the very bottom; element slides in
- $element.removeClass( elClassHidden );
-
- else // scrolled down; element slides out
- $element.addClass( elClassHidden );
- }
-
- wScrollBefore = wScrollCurrent;
- }));
-
- })( jQuery, window, document );
-
-
-});
-</script>
-
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/isis-site/blob/e6efa093/content/git-policy.html
----------------------------------------------------------------------
diff --git a/content/git-policy.html b/content/git-policy.html
deleted file mode 100644
index 146087f..0000000
--- a/content/git-policy.html
+++ /dev/null
@@ -1,886 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="en">
-<head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-
- <title>Git Policy</title>
-
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-
- <!-- No caching headers -->
- <meta http-equiv="cache-control" content="no-cache" />
- <meta http-equiv="pragma" content="no-cache" />
- <meta http-equiv="expires" content="-1" />
-
-
- <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line -->
- <link href="./css/foundation/5.5.1/foundation.css" rel="stylesheet" />
- <script src="./js/foundation/5.5.1/vendor/modernizr.js"></script>
- <link href="./css/asciidoctor/colony.css" rel="stylesheet">
- <link href="./css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-
-
-
- <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet" />
- <!--[if lt IE 9]>
- <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.ie.css" rel="stylesheet" />
- <![endif]-->
-
-
- <style type="text/css">
- /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
-/*pre.CodeRay {background-color:#f7f7f8;}*/
-.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
-.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
-.CodeRay .line-numbers strong{font-weight: normal}
-table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
-table.CodeRay td{vertical-align: top}
-table.CodeRay td.line-numbers{text-align:right}
-table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
-table.CodeRay td.code{padding:0 0 0 .5em}
-table.CodeRay td.code>pre{padding:0}
-.CodeRay .debug{color:#fff !important;background:#000080 !important}
-.CodeRay .annotation{color:#007}
-.CodeRay .attribute-name{color:#000080}
-.CodeRay .attribute-value{color:#700}
-.CodeRay .binary{color:#509}
-.CodeRay .comment{color:#998;font-style:italic}
-.CodeRay .char{color:#04d}
-.CodeRay .char .content{color:#04d}
-.CodeRay .char .delimiter{color:#039}
-.CodeRay .class{color:#458;font-weight:bold}
-.CodeRay .complex{color:#a08}
-.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
-.CodeRay .color{color:#099}
-.CodeRay .class-variable{color:#369}
-.CodeRay .decorator{color:#b0b}
-.CodeRay .definition{color:#099}
-.CodeRay .delimiter{color:#000}
-.CodeRay .doc{color:#970}
-.CodeRay .doctype{color:#34b}
-.CodeRay .doc-string{color:#d42}
-.CodeRay .escape{color:#666}
-.CodeRay .entity{color:#800}
-.CodeRay .error{color:#808}
-.CodeRay .exception{color:inherit}
-.CodeRay .filename{color:#099}
-.CodeRay .function{color:#900;font-weight:bold}
-.CodeRay .global-variable{color:#008080}
-.CodeRay .hex{color:#058}
-.CodeRay .integer,.CodeRay .float{color:#099}
-.CodeRay .include{color:#555}
-.CodeRay .inline{color:#00}
-.CodeRay .inline .inline{background:#ccc}
-.CodeRay .inline .inline .inline{background:#bbb}
-.CodeRay .inline .inline-delimiter{color:#d14}
-.CodeRay .inline-delimiter{color:#d14}
-.CodeRay .important{color:#555;font-weight:bold}
-.CodeRay .interpreted{color:#b2b}
-.CodeRay .instance-variable{color:#008080}
-.CodeRay .label{color:#970}
-.CodeRay .local-variable{color:#963}
-.CodeRay .octal{color:#40e}
-.CodeRay .predefined{color:#369}
-.CodeRay .preprocessor{color:#579}
-.CodeRay .pseudo-class{color:#555}
-.CodeRay .directive{font-weight:bold}
-.CodeRay .type{font-weight:bold}
-.CodeRay .predefined-type{color:inherit}
-.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
-.CodeRay .key{color:#808}
-.CodeRay .key .delimiter{color:#606}
-.CodeRay .key .char{color:#80f}
-.CodeRay .value{color:#088}
-.CodeRay .regexp .delimiter{color:#808}
-.CodeRay .regexp .content{color:#808}
-.CodeRay .regexp .modifier{color:#808}
-.CodeRay .regexp .char{color:#d14}
-.CodeRay .regexp .function{color:#404;font-weight:bold}
-.CodeRay .string{color:#d20}
-.CodeRay .string .string .string{background:#ffd0d0}
-.CodeRay .string .content{color:#d14}
-.CodeRay .string .char{color:#d14}
-.CodeRay .string .delimiter{color:#d14}
-.CodeRay .shell{color:#d14}
-.CodeRay .shell .delimiter{color:#d14}
-.CodeRay .symbol{color:#990073}
-.CodeRay .symbol .content{color:#a60}
-.CodeRay .symbol .delimiter{color:#630}
-.CodeRay .tag{color:#008080}
-.CodeRay .tag-special{color:#d70}
-.CodeRay .variable{color:#036}
-.CodeRay .insert{background:#afa}
-.CodeRay .delete{background:#faa}
-.CodeRay .change{color:#aaf;background:#007}
-.CodeRay .head{color:#f8f;background:#505}
-.CodeRay .insert .insert{color:#080}
-.CodeRay .delete .delete{color:#800}
-.CodeRay .change .change{color:#66f}
-.CodeRay .head .head{color:#f4f}
-
- pre.CodeRay code {
- background-color: inherit;
- border-style: none;
- }
-
- pre.CodeRay code > span:first-child {
- margin-left: -5px;
- }
-
- .literalblock pre,
- .listingblock pre:not(.highlight),
- .listingblock pre[class="highlight"],
- .listingblock pre[class^="highlight "],
- .listingblock pre.CodeRay,
- .listingblock pre.prettyprint {
- background: rgb(253, 250, 246);
- }
- .sidebarblock .literalblock pre,
- .sidebarblock .listingblock pre:not(.highlight),
- .sidebarblock .listingblock pre[class="highlight"],
- .sidebarblock .listingblock pre[class^="highlight "],
- .sidebarblock .listingblock pre.CodeRay,
- .sidebarblock .listingblock pre.prettyprint {
- background: rgb(253, 250, 246);
- }
-
- <style>
-
- <style>
- .github-fork-ribbon-wrapper.right {
- position: fixed;
- }
- .github-fork-ribbon {
- background: #090;
- }
- .github-fork-ribbon a:hover {
- background:#0D0;
- color:#fff;
- font-size: 1.1em;
- }
- </style>
-
- <style>
- @media only screen and (min-width: 40.063em) {
- .top-bar {
- .contain-to-grid .top-bar {
- max-width: 80rem;
- }
- }
- }
- .row {
- max-width: 80rem;
- }
- </style>
-
- <style>
- .extended-quote,
- .extended-quote-first {
- margin-left: 40px;
- margin-right: 40px;
- font-style: italic;
- }
- .extended-quote-attribution {
- text-align: right;
- margin-right: 100px;
- color: #10B061;
- }
-
- .extended-quote-first:before {
- content: "\201c";
- float: left;
- font-size: 2.75em;
- font-weight: bold;
- line-height: 0.6em;
- margin-left: -0.6em;
- color: #003b6b;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- }
- </style>
-
- <style>
- body {
- position: relative;
- }
-
- *:not(pre) a > code {
- color: #210DDC;
- }
-
- *:not(pre) > code {
- background-color: inherit;
- border: none;
- font-weight: normal;
- }
-
- body div#toc li,
- body div#toc2 li {
- list-style-type: none;
- }
-
- div#doc-content {
- margin-top: 30px;
- }
-
- body div#toc li.active-region:before,
- body div#toc2 li.active-region:before {
- content: "\00BB \0020";
- margin-left: -12px;
- }
-
- body div#toc li a.active,
- body div#toc2 li a.active {
- color: red;
- }
-
- body div#toc.toc,
- body div#toc.toc2 {
- position: fixed;
- left: auto;
- padding-top: 60px;
- z-index: auto;
- background-color: white;
- border-left-color: #eee;
- border-left-style: solid;
- border-right: none;
- min-height: 2000px;
- }
-
- </style>
-
- <style>
-
- @media only screen and (min-width: 768px) {
- #toc.toc2 ul ul { margin-left: -10px; }
- }
-
-
- body div#toc .tocify-subheader ul {
- margin-bottom: 0px;
- }
-
- body div#toc .tocify-subheader li {
- font-size: 14px;
- }
- .tocify li.tocify-item, .tocify ul.tocify-item {
- line-height: 24px;
- }
-
- body div#toc li.tocify-item.active:before,
- body div#toc2 li.tocify-item.active:before {
- content: "\00BB \0020";
- margin-left: -12px;
- }
-
- body div#toc li.tocify-item.active a,
- body div#toc2 li.tocify-item.active a {
- color: red;
- }
- </style>
-
- <style>
- footer {
- margin-top: 1000px;
- }
- </style>
-
- <style>
- /* overriding colony.css stylesheet */
- .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] {
- /*padding: 1.25em 1.5625em 1.125em 1.5625em;*/
- padding: 0.3em 0.6em 0.25em 0.6em;
- }
- @media only screen and (min-width: 1280px)
- #toc.toc2 {
- /*width: 20em;*/
- width: 25em;
- }
-
- #doc-content a {
- color: #210DDC;
- }
-
- .top-bar h1 {
- border-bottom: inherit;
- }
-
- h2 {
- margin-top: 80px;
- }
- h3 {
- margin-top: 40px;
- }
- h4,h5 {
- margin-top: 30px;
- }
-
- .admonitionblock.tip > table td.content {
- color: #10B061;
- }
- .admonitionblock.note > table td.content {
- color: #B509AB;
- }
- .admonitionblock.important > table td.content {
- color: #D5810A;
- }
-
- .admonitionblock .title {
- font-size: larger;
- font-style: italic;
- }
-
- .imageblock img {
- margin-bottom: 10px;
- }
- </style>
-
- <style>
- /* from http://ben.balter.com/2014/03/13/pages-anchor-links/ */
- .header-link {
- position: absolute;
- left: -0.5em;
- opacity: 0;
-
- /*
- -webkit-transition: opacity 0.2s ease-in-out 0.1s;
- -moz-transition: opacity 0.2s ease-in-out 0.1s;
- -ms-transition: opacity 0.2s ease-in-out 0.1s;
- */
- }
-
- h2:hover .header-link,
- h3:hover .header-link,
- h4:hover .header-link,
- h5:hover .header-link,
- h6:hover .header-link {
- opacity: 1;
- }
- </style>
-
- <style>
- .top-bar
- {
- -webkit-transition-duration: .5s;
- transition-duration: .5s;
-
- -webkit-transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
- transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
-
- -webkit-transition-property: -webkit-transform;
- transition-property: transform;
- }
-
- /*
- http://osvaldas.info/auto-hide-sticky-header
- MIT license
- */
- .header--hidden
- {
- -webkit-transform: translateY( -100% );
- -ms-transform: translateY( -100% );
- transform: translateY( -100% );
-
- transition-duration: .5s;
- transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );
- -webkit-transition-property: -webkit-transform;
- transition-property: transform;
- }
- </style>
-
- <style>
- #doc-content a.guide {
- color: white;
- }
- </style>
-
- <style>
- .tocify {
- margin-top: 80px;
- }
- </style>
-
-
-</script>
-
-</head>
-<body>
-
-<<div class="github-fork-ribbon-wrapper right" style="position: fixed;">
- <div class="github-fork-ribbon">
- <a href="https://github.com/apache/isis/fork">Fork me on GitHub</a>
- </div>
-</div>
-
-
-<div class="row">
-
- <div class="fixed contain-to-grid header">
- <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem">
- <ul class="title-area">
- <li class="name">
- <h1>
- <a href="/index.html">Apache Isis™</a>
- </h1>
- </li>
- <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
- <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
- </ul>
-
- <section class="top-bar-section">
- <ul class="right">
-
- <li class="has-form">
- <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">
- <div class="row collapse">
- <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">
- <INPUT type="hidden" name="cof" value="FORID:0">
- <INPUT class="form-control" name="q" type="text" placeholder="Search">
- </div>
- </FORM>
- </li>
-
- </ul>
-
- <!-- Left Nav Section -->
- <ul class="left">
-
- <li><a href="/documentation.html">Documentation</a></li>
- <li><a href="/downloads.html">Downloads</a></li>
- <li><a href="/help.html">Help</a></li>
- <li><a href="/asf.html">@ASF</a></li>
-
- </ul>
-
- </section>
- </nav>
- </div>
-</div>
-
-<div class="row">
-
- <div id="doc-content-left" class="large-9 medium-9 columns">
-
-
- <div id="doc-content">
- <div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p><br/><br/></p>
-</div>
-<div class="paragraph">
-<p>These notes recommend how contributors should work with git. To understand these notes, the only real concepts that you need to grok are:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>git commits form an acyclic graph, with each commit pointing to its parent commit (or commit<strong>s</strong>, if a merge)</p>
-</li>
-<li>
-<p>a branch is merely a pointer to one of these commits; git calls the main branch <code>master</code></p>
-</li>
-<li>
-<p>git commits happen in two steps: first they are added to the index (also called the staging area), then they are committed.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>For more background reading, see:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="http://git-scm.com/book">Pro Git</a> book (free in electronic form)</p>
-</li>
-<li>
-<p><a href="https://github.s3.amazonaws.com/media/book.pdf">Git community book</a></p>
-</li>
-<li>
-<p><a href="http://git-scm.com/2011/07/11/reset.html">git reset demystified</a> - differentiating the working directory vs index/staging area</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>And, of course, there is loads of good advice on <a href="http://stackoverflow.com/questions/tagged/git">stackoverflow.com</a></p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_workflow">Workflow</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>There are many ways of using Git, but the Apache Isis committers have adopted the following workflow:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>create a topic branch for a feature<br></p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git checkout -b ISIS-999</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>periodically, push the branch to origin (for safekeeping):<br></p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git push origin ISIS-999</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p><code>rebase</code> the topic branch periodically on master.<br></p>
-<div class="paragraph">
-<p>How often you do this will depend on whether you are collaborating with others on the feature. You need to ensure that your co-worker has no outstanding work before you do this; otherwise it’ll create merge conflict hell for them:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git checkout master
-git pull
-git checkout ISIS-999
-git rebase master
-git push origin ISIS-999 --force</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>when feature is complete, rebase once more (as above), then switch to master and perform a <code>merge --no-ff</code>:<br></p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git checkout master
-git merge --no-ff ISIS-999</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>finally, remove the branch<br></p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">git branch -d ISIS-999
-git push origin --delete ISIS-999</code></pre>
-</div>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>This way of working gives us the full history on the branch as to what the thought processes were for the feature, but only a single commit on to <code>master</code> to see the ultimate impact of the changes (acting a bit like a summary).</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_commit_message">Commit message</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The minimum we expect in a commit messages is:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">ISIS-nnn: brief summary here
-
-- optionally, longer details
-- should be written here
-- in bullet points</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>where <code>ISIS-nnn</code> is a ticket raised in our <a href="https://issues.apache.org/jira/browse/ISIS">JIRA issue tracker</a>.</p>
-</div>
-<div class="paragraph">
-<p>For non-committers we typically expect more detail again; see the <a href="contributing.html">contributing</a> page for the longer format recommended for contributors to use.</p>
-</div>
-</div>
-</div>
- </div>
-
- <footer>
- <hr>
- <p class="small">
- Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
- <br/>
- Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
- </p>
- </footer>
-
- </div>
-
- <div id="doc-content-right" class="large-3 medium-3 xcolumns">
- <div id="toc" class="toc2">
- <div class="fallback-toc">
- <ul class="sectlevel1">
-<li><a href="#_workflow">Workflow</a></li>
-<li><a href="#_commit_message">Commit message</a></li>
-</ul>
- </div>
- </div>
- </div>
-
-</div>
-
-
-<script src="./js/foundation/5.5.1/vendor/jquery.js"></script>
-<script src="./js/foundation/5.5.1/foundation.min.js"></script>
-
-
-<link href="./css/jquery.tocify/1.9.0/jquery.tocify.css" rel="stylesheet">
-<script src="./js/jqueryui/1.11.4/jquery-ui.min.js"></script>
-<script src="./js/jquery.tocify/1.9.0/jquery.tocify.js"></script>
-
-
-
-<script type="text/javascript">
- $(function () {
- $("#toc").tocify({
- scrollTo: 50,
- extendPage: true,
- context: "#doc-content",
- highlightOnScroll: true,
- hashGenerator: "pretty",
- hideEffect: "slideUp",
- selectors: "h2,h3,h4,h5"
- });
- $(".fallback-toc").hide();
- });
-</script>
-
-<script type="text/javascript">
-
- /****
-
- $(document).foundation();
-
- $(document).ready(function(){
- // Cache selectors
- var lastId,
- topMenu = $("div#toc ul"),
- topMenuHeight = 100,
-
- menuItems = topMenu.find("a"),
- menuItemsHrefs = menuItems.map(function(){
- var item = $($(this).attr("href"));
- if (item.length) { return item; }
- });
-
- // Bind click handler to menu items to scroll animation
- menuItems.click(function(e){
- var href = $(this).attr("href"),
- offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
- $('html, body').stop().animate({
- scrollTop: offsetTop
- }, 300);
-
- e.preventDefault();
- });
-
- // Bind to scroll of window
- $( window ).scroll(function(){
-
- // Get container scroll position
- var fromTop = $(this).scrollTop()+topMenuHeight;
-
- var cur = menuItemsHrefs.map(function(){
- if ($(this).offset().top < fromTop)
- return this;
- });
-
- // Get the id of the current element
- cur = cur[cur.length-1];
-
- var id = cur && cur.length ? cur[0].id : "";
-
- if (lastId !== id && id) {
- scrollTo(id);
- }
-
- window.history.pushState({}, "", window.location.origin + window.location.pathname + "#" + id);
- });
-
- scrollTo = function(id) {
- lastId = id;
-
- menuItems
- .removeClass("active");
-
- menuItems
- .parents()
- .removeClass("active-region");
-
- menuItems
- .parents("ul").hide();
-
- menuItems
- .filter("[href=#"+id+"]")
- .addClass("active");
-
- menuItems
- .filter("[href=#"+id+"]")
- .parents("ul").show();
-
- menuItems
- .filter("[href=#"+id+"]")
- .parent().children("ul").show();
-
- menuItems
- .filter("[href=#"+id+"]")
- .parents("li").addClass("active-region");
-
- }
- menuItems
- .removeClass("active");
-
- menuItems
- .parents()
- .removeClass("active-region");
-
- var syncMenuItem;
- if(window.location.hash!=="") {
- var menuItemFor = $.grep(menuItems, function(e) {
- return e.hash === window.location.hash;
- });
- console.log(menuItemFor);
- if(menuItemFor.length === 1) {
- syncMenuItem = menuItemFor[0];
- }
- }
-
- if(!syncMenuItem){
- syncMenuItem = menuItems[0];
- }
-
- $(syncMenuItem).click();
-
- });
-
- ***/
-
-</script>
-
-<script type="text/javascript">
-
-$(document).ready(function(){
- if("Documentation" === "Git Policy") {
- console.log( "processing 'Documentation'" );
-
- $("#doc-content-left").removeClass("large-9").removeClass("medium-9").addClass("large-12").addClass("medium-12");
- $("#doc-content-right").removeClass("large-3").removeClass("medium-3").hide();
- }
-
-});
-
-</script>
-
-
-<script>
-
-$( document ).ready(function() {
-
- (function() {
- $(function() {
- return $("#doc-content h2, #doc-content h3, #doc-content h4, #doc-content h5, #doc-content h6").each(function(i, el) {
- var $el, icon, id;
- $el = $(el);
- id = $el.attr('id');
- icon = '<i class="fa fa-link"></i>';
- if (id) {
- return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
- }
- });
- });
- }).call(this);
-
-
-
- /*
- http://osvaldas.info/auto-hide-sticky-header
- MIT license
- */
- ;( function( $, window, document, undefined )
- {
- 'use strict';
-
- var elSelector = '.header',
- elClassHidden = 'header--hidden',
- throttleTimeout = 500,
- $element = $( elSelector );
-
- if( !$element.length ) return true;
-
- var $window = $( window ),
- wHeight = 0,
- wScrollCurrent = 0,
- wScrollBefore = 0,
- wScrollDiff = 0,
- $document = $( document ),
- dHeight = 0,
-
- throttle = function( delay, fn )
- {
- var last, deferTimer;
- return function()
- {
- var context = this, args = arguments, now = +new Date;
- if( last && now < last + delay )
- {
- clearTimeout( deferTimer );
- deferTimer = setTimeout( function(){ last = now; fn.apply( context, args ); }, delay );
- }
- else
- {
- last = now;
- fn.apply( context, args );
- }
- };
- };
-
- $window.on( 'scroll', throttle( throttleTimeout, function()
- {
- dHeight = $document.height();
- wHeight = $window.height();
- wScrollCurrent = $window.scrollTop();
- wScrollDiff = wScrollBefore - wScrollCurrent;
-
- if( wScrollCurrent <= 0 ) // scrolled to the very top; element sticks to the top
- $element.removeClass( elClassHidden );
-
- else if( wScrollDiff > 0 && $element.hasClass( elClassHidden ) ) // scrolled up; element slides in
- $element.removeClass( elClassHidden );
-
- else if( wScrollDiff < 0 ) // scrolled down
- {
- if( wScrollCurrent + wHeight >= dHeight && $element.hasClass( elClassHidden ) ) // scrolled to the very bottom; element slides in
- $element.removeClass( elClassHidden );
-
- else // scrolled down; element slides out
- $element.addClass( elClassHidden );
- }
-
- wScrollBefore = wScrollCurrent;
- }));
-
- })( jQuery, window, document );
-
-
-});
-</script>
-
-</body>
-</html>