You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by bu...@apache.org on 2011/07/18 05:01:07 UTC

svn commit: r792964 - /websites/staging/openofficeorg/trunk/content/openofficeorg/svn-basics.html

Author: buildbot
Date: Mon Jul 18 03:01:06 2011
New Revision: 792964

Log:
Staging update by buildbot

Added:
    websites/staging/openofficeorg/trunk/content/openofficeorg/svn-basics.html

Added: websites/staging/openofficeorg/trunk/content/openofficeorg/svn-basics.html
==============================================================================
--- websites/staging/openofficeorg/trunk/content/openofficeorg/svn-basics.html (added)
+++ websites/staging/openofficeorg/trunk/content/openofficeorg/svn-basics.html Mon Jul 18 03:01:06 2011
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    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.
+--> 
+    <link href="/openofficeorg/css/ooo.css" rel="stylesheet" type="text/css">
+  <title>Subversion Basics</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+
+<body>
+  <div id="banner">
+    <img id="logo" alt="Apache OpenOffice.org (Incubating)" 
+	 src="/openofficeorg/images/ooo-logo.png"/>&nbsp;|&nbsp;
+  </div>
+  
+  <div id="navigation">
+  <h1 id="general">General</h1>
+<ul>
+<li><a href="/openofficeorg/index.html">About</a></li>
+<li><a href="http://incubator.apache.org/projects/openofficeorg.html">Incubator page</a></li>
+<li><a href="/openofficeorg/license.html">License</a></li>
+</ul>
+<h1 id="community">Community</h1>
+<ul>
+<li><a href="/openofficeorg/get-involved.html">Get Involved</a></li>
+<li><a href="/openofficeorg/mailing-lists.html">Mailing Lists</a></li>
+<li><a href="http://support.openoffice.org/">Support</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/OOOUSERS/">Community Wiki</a></li>
+<li><a href="/openofficeorg/people.html">People</a></li>
+<li><a href="/openofficeorg/community-faqs.html">Community FAQs</a></li>
+</ul>
+<h1 id="development">Development</h1>
+<ul>
+<li><a href="/openofficeorg/source.html">Source Code</a></li>
+<li><a href="/openofficeorg/website-local.html">Website</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/OOODEV/">Planning Wiki</a></li>
+<li><a href="/openofficeorg/developer-faqs.html">Developer FAQs</a></li>
+</ul>
+<h1 id="ppmc">PPMC</h1>
+<ul>
+<li><a href="/openofficeorg/ppmc-faqs.html">PPMC FAQs</a><br />
+</li>
+<li><a href="http://blogs.apache.org/OOo/">Project Blog</a></li>
+</ul>
+<h1 id="asf">ASF</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+    <a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" 
+    src="/openofficeorg/images/apache-incubator-logo.png"/> </a>
+  </div>
+
+  <div id="content">
+    <h1 class="title">Subversion Basics</h1>
+    <p>We use <a href="http://subversion.apache.org">Apache Subversion</a> for version control. For a complete reference on Subversion see the <a href="http://svnbook.red-bean.com">Subversion Book</a>. You can <a href="http://svn.apache.org/viewvc/incubator/ooo/trunk">browse our repository</a> in your web browser.</p>
+<p>This page gives instructions on performing basic development tasks using Subversion. This instruction assumes you have Apache Subversion installed.</p>
+<h2 id="overview">Overview</h2>
+<p>You begin using Subversion by copying a directory from a remote repository to a local directory on your file system. This is known as a checkout of a working copy.</p>
+<p>Subversion uses a copy-modify-merge model meaning that you can add and edit files and directories in your working copy like any other files on your system, but you should use subversion commands for everything else such as <code>svn copy</code> and <code>svn move</code> instead of the operating system commands.</p>
+<h2 id="sub-commands_and_abbreviations">Sub-commands and Abbreviations</h2>
+<p>Subversion's commands can be ran from a command shell such as Bash on Linux. The subversion command is <code>svn</code> followed by optional sub-commands, options, and arguments.</p>
+<p>to see the program version and modules</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="o">--</span><span class="n">version</span>
+</pre></div>
+
+
+<p>or a sub-command</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="sr">&lt;subcommand&gt;</span> <span class="p">[</span><span class="n">options</span><span class="p">]</span> <span class="p">[</span><span class="n">args</span><span class="p">]</span>
+</pre></div>
+
+
+<p>Most sub-commands take file and/or directory arguments, recursing on the directories. If no arguments are supplied to such a command, it recurses on the current directory (inclusive) by default. (from <code>svn help</code>)</p>
+<p>The following is only a partial list of sub-commands relating to this instruction. For a complete list, see the <a href="http://svnbook.red-bean.com">Subversion Book</a>, or use <code>svn help</code>.</p>
+<ul>
+<li><code>add</code> - Schedule a new file or directory (including contained files) for inclusion in the repository</li>
+<li><code>checkout</code>, <code>co</code> - Create a local working copy of a remote repository</li>
+<li><code>commit</code>, <code>ci</code> - Commit (check in) local changes to the repository</li>
+<li><code>copy</code>, <code>cp</code> - Copy one or more files in a working copy or in the repository</li>
+<li><code>delete</code>, <code>del</code>, <code>remove</code>, <code>rm</code> - Items specified are scheduled for deletion upon the next commit. Working copy files not yet committed are deleted immediately.</li>
+<li><code>diff</code>, <code>di</code> - Displays differences in files from the directory</li>
+<li><code>help</code>, <code>?</code>, <code>h</code> - Subversion help and help on sub-commands</li>
+<li><code>move</code>, <code>mv</code>, <code>rename</code>, <code>ren</code> - Moves files or directories in your working copy or repository</li>
+<li><code>resolve</code> - Resolve conflicts on working copy files or directories</li>
+<li><code>revert</code> - Undo all local edits or optionally a file or directory</li>
+<li><code>status</code> - Print the status of working copy files and directories</li>
+<li><code>update</code> - Bring changes from the repository into your working copy</li>
+</ul>
+<h2 id="client_configuration">Client Configuration</h2>
+<p>Committers need to <a href="http://www.apache.org/dev/version-control.html#https-svn-config">configure their Subversion client</a> to handle the differences in line endings of text files on different operating systems.</p>
+<p>There are instances where Subversion may need to open an editor. You need to have the environment variable EDITOR set to the editor you would like to use. To set it for the current terminal session in Bash (your path may differ):</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">export</span> <span class="n">EDITOR</span><span class="o">=</span><span class="sr">/usr/</span><span class="n">bin</span><span class="o">/</span><span class="n">vim</span>
+</pre></div>
+
+
+<h2 id="repository_layout">Repository Layout</h2>
+<p>The OOo repository layout uses the following top-level directories <code>branches</code>, <code>site</code>, <code>tags</code>, and <code>trunk</code>.</p>
+<ul>
+<li><code>branches</code> - Contains branches used for continued development of a specific version, experimental versions, or for  developing features to be merged into the trunk or a branch later. (needs examples)</li>
+<li><code>site</code> - Contains the web site source code. Also contains it's own trunk directory.</li>
+<li><code>tags</code> - Contains specific versions of the project. These tags are not to be revised. (needs examples)</li>
+<li><code>trunk</code> - Contains the current source code.
+For more information see the <a href="http://www.apache.org/dev/contributors.html#svnbasics">Contributors Tech Guide</a>.</li>
+</ul>
+<h2 id="getting_the_source_code">Getting the source code</h2>
+<p>From the parent directory of where you want the working copy. In this example the <code>ooo-trunk</code> directory will be created if it does not exist.</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/incubator/ooo</span><span class="o">/</span><span class="n">trunk</span> <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="o">/</span><span class="n">tools</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span><span class="o">/</span><span class="n">fetch</span><span class="o">-</span><span class="n">all</span><span class="o">-</span><span class="n">cws</span><span class="o">.</span><span class="n">sh</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span><span class="o">/</span><span class="n">cws</span><span class="o">-</span><span class="n">list</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span><span class="o">/</span><span class="n">fetch</span><span class="o">-</span><span class="n">all</span><span class="o">-</span><span class="n">web</span><span class="o">.</span><span class="n">sh</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span><span class="o">/</span><span class="n">web</span><span class="o">-</span><span class="n">list</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">A</span>    <span class="n">ooo</span><span class="o">-</span><span class="n">trunk</span><span class="sr">/tools/</span><span class="n">dev</span><span class="o">/</span><span class="n">single</span><span class="o">-</span><span class="n">hg</span><span class="o">.</span><span class="n">sh</span>
+<span class="n">Checked</span> <span class="n">out</span> <span class="n">revision</span> <span class="mi">1145818</span><span class="o">.</span>
+</pre></div>
+
+
+<p>"A" indicates file or directory is "Added" to working copy</p>
+<h2 id="basic_work_cycle">Basic Work Cycle</h2>
+<ul>
+<li>Update your working copy - For this you use the <code>svn update</code> command</li>
+<li>Make changes - For this you may edit files in an editor, or use the <code>svn add</code>, <code>svn delete</code>, <code>svn copy</code>, <code>svn-move</code> commands</li>
+<li>Review Changes - For this you use the <code>svn status</code> and <code>svn diff</code></li>
+<li>Fix Mistakes - Make additional edits to files or you can use the <code>svn revert</code> to restore files or directories to an unmodified state</li>
+<li>Resolve Conflicts - There is a chance others have committed changes while you have been changing your working copy. You should run the <code>svn update</code> command to bring your copy up to date. This may create a local conflict where someone may have added a file with a name that you also want to add, or may have made changes to the same line of a file as you. For this use the <code>svn resolve</code> command.</li>
+<li>Publish Changes - For this you use the <code>svn commit</code> command</li>
+</ul>
+<h3 id="adding_a_file">Adding a File</h3>
+<p>After creating the file "test-file.txt" in the working copy.</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">status</span>
+<span class="p">?</span>       <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+</pre></div>
+
+
+<p>? indicates test-file.txt is not under version control</p>
+<h3 id="scheduling_a_file_for_addition_to_repository">Scheduling a file for addition to repository</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">add</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">A</span>         <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+
+<span class="nv">$</span> <span class="nv">svn</span> <span class="n">status</span>
+<span class="n">A</span>       <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+</pre></div>
+
+
+<p>"A" indicates file is scheduled for addition</p>
+<h3 id="running_a_diff">Running a diff</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">diff</span>
+<span class="n">Index:</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="o">===================================================================</span>
+<span class="o">---</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>   <span class="p">(</span><span class="n">revision</span> <span class="mi">0</span><span class="p">)</span>
+<span class="o">+++</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>   <span class="p">(</span><span class="n">revision</span> <span class="mi">0</span><span class="p">)</span>
+<span class="nv">@@</span> <span class="err">-</span><span class="nv">0</span><span class="p">,</span><span class="mi">0</span> <span class="o">+</span><span class="mi">1</span> <span class="nv">@@</span>
+<span class="err">+</span><span class="nv">This</span> <span class="n">is</span> <span class="n">a</span> <span class="n">test</span> <span class="n">file</span> <span class="k">for</span> <span class="n">svn</span><span class="o">-</span><span class="n">basics</span><span class="o">.</span>
+
+<span class="n">Property</span> <span class="n">changes</span> <span class="n">on:</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">___________________________________________________________________</span>
+<span class="n">Added:</span> <span class="n">svn:eol</span><span class="o">-</span><span class="n">style</span>
+   <span class="o">+</span> <span class="n">native</span>
+</pre></div>
+
+
+<h3 id="committing_a_file">Committing a file</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">commit</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;added test-file.txt&quot;</span>
+<span class="n">Adding</span>         <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">Transmitting</span> <span class="n">file</span> <span class="n">data</span> <span class="o">.</span>
+<span class="n">Committed</span> <span class="n">revision</span> <span class="mi">2</span><span class="o">.</span>
+</pre></div>
+
+
+<h3 id="update_the_working_copy">Update the working copy</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">update</span>
+<span class="n">U</span>    <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">Updated</span> <span class="n">to</span> <span class="n">revision</span> <span class="mi">3</span><span class="o">.</span>
+</pre></div>
+
+
+<p>"U" indicates an "Update" to a file or directory</p>
+<p>Modify the file (this example uses the vim editor)</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">vim</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+</pre></div>
+
+
+<h3 id="check_the_status">Check the Status</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">status</span>
+<span class="n">M</span>       <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+</pre></div>
+
+
+<p>"M" indicates the file has been "Modified"</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">diff</span>
+<span class="n">Index:</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="o">===================================================================</span>
+<span class="o">---</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>   <span class="p">(</span><span class="n">revision</span> <span class="mi">3</span><span class="p">)</span>
+<span class="o">+++</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>   <span class="p">(</span><span class="n">working</span> <span class="n">copy</span><span class="p">)</span>
+<span class="nv">@@</span> <span class="err">-</span><span class="nv">1</span><span class="p">,</span><span class="mi">2</span> <span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span> <span class="nv">@@</span>
+ <span class="nv">This</span> <span class="n">is</span> <span class="n">a</span> <span class="n">test</span> <span class="n">file</span> <span class="k">for</span> <span class="n">svn</span><span class="o">-</span><span class="n">basics</span><span class="o">.</span>
+ <span class="n">This</span> <span class="n">is</span> <span class="n">a</span> <span class="k">new</span> <span class="n">line</span> <span class="n">added</span> <span class="n">by</span> <span class="n">someone</span> <span class="k">else</span><span class="o">.</span>
+<span class="o">+</span><span class="n">This</span> <span class="n">line</span> <span class="n">added</span> <span class="n">by</span> <span class="n">me</span><span class="o">.</span>
+</pre></div>
+
+
+<h3 id="resolving_conflicts">Resolving Conflicts</h3>
+<p>Suppose someone edits the same line as you before you commit</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">update</span>
+<span class="n">Conflict</span> <span class="n">discovered</span> <span class="n">in</span> <span class="s">&#39;test-file.txt&#39;</span><span class="o">.</span>
+<span class="n">Select:</span> <span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="n">postpone</span><span class="p">,</span> <span class="p">(</span><span class="n">df</span><span class="p">)</span> <span class="n">diff</span><span class="o">-</span><span class="n">full</span><span class="p">,</span> <span class="p">(</span><span class="n">e</span><span class="p">)</span> <span class="n">edit</span><span class="p">,</span>
+        <span class="p">(</span><span class="n">mc</span><span class="p">)</span> <span class="n">mine</span><span class="o">-</span><span class="n">conflict</span><span class="p">,</span> <span class="p">(</span><span class="n">tc</span><span class="p">)</span> <span class="n">theirs</span><span class="o">-</span><span class="n">conflict</span><span class="p">,</span>
+        <span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">show</span> <span class="n">all</span> <span class="n">options:</span>
+</pre></div>
+
+
+<p>This is just like if you had ran the <code>svn resolve</code> command</p>
+<p>Selecting <code>df</code> displays this:</p>
+<div class="codehilite"><pre><span class="gd">--- .svn/text-base/test-file.txt.svn-base   Sun Jul 17 17:38:52 2011</span>
+<span class="gi">+++ .svn/tmp/test-file.txt.tmp  Sun Jul 17 21:35:09 2011</span>
+<span class="gu">@@ -1,2 +1,7 @@</span>
+ This is a test file for svn-basics.
+ This is a new line added by someone else.
+<span class="gi">+&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine</span>
+<span class="gi">+This line added by me.</span>
+<span class="gi">+=======</span>
+<span class="gi">+This line is added by someone else also.</span>
+<span class="gi">+&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r4</span>
+Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved,
+        (mc) mine-conflict, (tc) theirs-conflict,
+        (s) show all options:
+</pre></div>
+
+
+<p>If you choose <code>e</code>, Subversion will launch an editor with both sets of changes included for you to edit. You can save your changes in the editor and then select <code>r</code> (for resolved).</p>
+<div class="codehilite"><pre><span class="n">G</span>    <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">Updated</span> <span class="n">to</span> <span class="n">revision</span> <span class="mi">4</span><span class="o">.</span>
+</pre></div>
+
+
+<p>"G" indicates "merGed"</p>
+<h3 id="committing_the_changes">Committing the Changes</h3>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">commit</span> <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;added new line&quot;</span>
+<span class="n">Sending</span>        <span class="n">test</span><span class="o">-</span><span class="n">file</span><span class="o">.</span><span class="n">txt</span>
+<span class="n">Transmitting</span> <span class="n">file</span> <span class="n">data</span> <span class="o">.</span>
+<span class="n">Committed</span> <span class="n">revision</span> <span class="mi">5</span><span class="o">.</span>
+</pre></div>
+
+
+<p>For further information see the <a href="http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html">Basic Work Cycle</a> page from <a href="http://svnbook.red-bean.com">Subversion Book</a>.</p>
+<h2 id="submitting_changes_by_others">Submitting Changes By Others</h2>
+<p>Coming Soon</p>
+<h2 id="creating_patches">Creating Patches</h2>
+<p>Coming Soon</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>