[svnbook commit] r1541 - in trunk/src/nb: . book
sunny256
svnbook-dev at red-bean.com
Tue Jul 12 14:47:35 CDT 2005
Author: sunny256
Date: Tue Jul 12 14:47:34 2005
New Revision: 1541
Modified:
trunk/src/nb/LAST_UPDATED
trunk/src/nb/book/ch02.xml
trunk/src/nb/book/ch07.xml
trunk/src/nb/book/ch09.xml
Log:
Sync the Norwegian svnbook against the English version, r1532:1540.
* src/nb/LAST_UPDATED
Updated by make sync.
* src/nb/book/ch02.xml
Updated r1539.
* src/nb/book/ch07.xml
Updated r1540.
* src/nb/book/ch09.xml
Updated r1536, r1537.
Modified: trunk/src/nb/LAST_UPDATED
==============================================================================
--- trunk/src/nb/LAST_UPDATED (original)
+++ trunk/src/nb/LAST_UPDATED Tue Jul 12 14:47:34 2005
@@ -1 +1 @@
-1532
+1540
Modified: trunk/src/nb/book/ch02.xml
==============================================================================
--- trunk/src/nb/book/ch02.xml (original)
+++ trunk/src/nb/book/ch02.xml Tue Jul 12 14:47:34 2005
@@ -1348,105 +1348,281 @@
<!-- =============================================================== -->
<sect2 id="svn.basic.in-action.mixedrevs">
<!-- @ENGLISH {{{
- <title>The Limitations of Mixed Revisions</title>
+ <title>Mixed Revision Working Copies</title>
@ENGLISH }}} -->
- <title>Begrensningene i blandede revisjoner</title>
+ <title>Arbeidskopier med blandede revisjonsnumre</title>
<!-- @ENGLISH {{{
<para>As a general principle, Subversion tries to be as flexible
as possible. One special kind of flexibility is the ability
- to have a working copy containing mixed revision
- numbers.</para>
+ to have a working copy containing files and directories with a
+ mix of different working revision numbers. Unfortunately,
+ this flexibility tends to confuse a number of new users. If
+ the earlier example showing mixed revisions perplexed you,
+ here's a primer on both why the feature exists and how to make
+ use of it.</para>
@ENGLISH }}} -->
<para>Som et generelt prinsipp prøver Subversion å være så
fleksibel som mulig.
- En spesiell type av fleksibilitet er muligheten til å ha en
- arbeidskopi som inneholder blandede revisjonsnumre.</para>
+ En spesiell type fleksibilitet er muligheten til å ha en
+ arbeidskopi som inneholder filer og kataloger med en blanding av
+ forskjellige arbeidsrevisjonsnumre.
+ Uheldigvis har denne fleksibiliteten en tendens til å forvirre
+ en del nye brukere.
+ Hvis det tidligere eksempelet som viser blandede revisjoner gjør
+ deg litt perpleks, her kommer en forklaring på hvorfor denne
+ funksjonaliteten finnes og hvordan du gjør bruk av den.</para>
- <!-- @ENGLISH {{{
- <para>At first, it may not be entirely clear why this sort of
- flexibility is considered a feature, and not a liability.
- After completing a commit to the repository, the freshly
- committed files and directories are at a more recent working
- revision than the rest of the working copy. It looks like a
- bit of a mess. As demonstrated earlier, the working copy can
- always be brought to a single working revision by running
- <command>svn update</command>. Why would someone
- <emphasis>deliberately</emphasis> want a mixture of working
- revisions?</para>
- @ENGLISH }}} -->
- <para>Til å begynne med er det ikke sikkert det er helt klart
- hvorfor denne typen fleksibilitet er å betrakte som en fordel,
- og ikke en svakhet.
- Etter å ha fullført en innlegging i depotet, er de nylig
- innlagte filene og katalogene i en nyere arbeidsrevisjon enn
- resten av kopien.
- Det ser ut som litt av et rot.
- Som tidligere demonstrert, kan arbeidskopien alltid bli satt til
- en enkelt arbeidsrevisjon ved å kjøre <command>svn
- update</command>.
- Hvorfor vil noen <emphasis>med vilje</emphasis> ønske seg en
- blanding av arbeidsrevisjoner?</para>
+ <sect3 id="svn.basic.in-action.mixedrevs.update-commit">
+ <!-- @ENGLISH {{{
+ <title>Updates and Commits are Separate</title>
+ @ENGLISH }}} -->
+ <title>Oppdateringer og innlegginger er separate</title>
- <!-- @ENGLISH {{{
- <para>Assuming your project is sufficiently complex, you'll
- discover that it's sometimes nice to forcibly
- <quote>backdate</quote> portions of your working copy to an
- earlier revision; you'll learn how to do that in Chapter 3.
- Perhaps you'd like to test an earlier version of a sub-module,
- contained in a subdirectory, or perhaps you'd like to examine
- a number of previous versions of a file in the context of the
- latest tree.</para>
- @ENGLISH }}} -->
- <para>Forutsatt at prosjektet ditt er komplekst nok, vil du
- oppdage at det noen ganger er fint å kunne
- <quote>tilbakedatere</quote> deler av arbeidskopien til en
- tidligere revisjon; du vil lære hvordan du gjør dette i kapittel
- 3.
- Kanskje vil du prøve en tidligere versjon av en delmodul, lagret
- i en underkatalog, eller kanskje du vil utforske et antall
- tidligere versjoner av en fil sett i forhold til det seneste
- treet.</para>
-
- <!-- @ENGLISH {{{
- <para>However you make use of mixed-revisions in your working
- copy, there are limitations to this flexibility.</para>
- @ENGLISH }}} -->
- <para>Hvordan du enn gjør bruk av blandede revisjoner i
- arbeidskopien, er det begrensninger i denne
- fleksibiliteten.</para>
+ <!-- @ENGLISH {{{
+ <para>One of the fundamental rules of Subversion is that
+ a <quote>push</quote> action does not cause
+ a <quote>pull</quote>, nor the other way around. Just
+ because you're ready to submit new changes to the repository
+ doesn't mean you're ready to receive changes from other
+ people. And if you have new changes still in progress,
+ then <command>svn update</command> should gracefully merge
+ repository changes into your own, rather than forcing you to
+ publish them.</para>
+ @ENGLISH }}} -->
+ <para>En av de fundamentale reglene til Subversion er at en <!--
+ ¤ --><quote>skyveoperasjon</quote> ikke forårsaker en
+ <quote>trekkoperasjon</quote>, heller ikke den andre veien.
+ Det at du er klar til å legge inn nye forandringer i depotet
+ betyr ikke at du er klar til å motta forandringer fra andre
+ folk.
+ Og hvis du har nye forandringer som fortsatt er under
+ utvikling, bør <command>svn update</command> flette
+ forandringer i depotet fint og forsiktig inn i dine egne
+ istedenfor å tvinge deg til å publisere dem.</para>
- <!-- @ENGLISH {{{
- <para>First, you cannot commit the deletion of a file or
- directory which isn't fully up-to-date. If a newer version of
- the item exists in the repository, your attempt to delete will
- be rejected, to prevent you from accidentally
- destroying changes you've not yet seen.</para>
- @ENGLISH }}} -->
- <para>For det første kan du ikke legge inn sletting av en fil
- eller katalog som ikke er fullstendig oppdatert.
- Hvis en nyere versjon av elementet eksisterer i depotet, vil
- forsøket ditt på å slette bli avslått, for å forhindre deg å
- feilaktig ødelegge forandringer som du enda ikke har
- sett.</para>
+ <!-- @ENGLISH {{{
+ <para>The main side-effect of this rule is that it means a
+ working copy has to do extra bookkeeping to track mixed
+ revisions, and be tolerant of the mixture as well. It's
+ made more complicated by the fact that directories
+ themselves are versioned.</para>
+ @ENGLISH }}} -->
+ <para>Den største sideeffekten av denne regelen er at det betyr
+ at arbeidskopien må holde ekstra regnskap for å følge med på
+ miksede revisjoner, og også være tolerant i forhold til
+ blandingen.
+ Det blir ytterligere komplisert fordi også selve katalogene er
+ versjonerte.</para>
+
+ <!-- @ENGLISH {{{
+ <para>For example, suppose you have a working copy entirely at
+ revision 10. You edit the
+ file <filename>foo.html</filename> and then perform
+ an <command>svn commit</command>, which creates revision 15
+ in the repository. After the commit succeeds, many new
+ users would expect the working copy to be entirely at
+ revision 15, but that's not the case! Any number of changes
+ might have happened in the repository between revisions 10
+ and 15. It would be a lie to claim that we had a working
+ copy of revision 15, the client simply doesn't know. If, on
+ the other hand, <command>svn commit</command> were to
+ automatically download the newest changes, then it would be
+ possible to set the entire working copy to revision
+ 15—but then we'd be breaking the fundamental rule
+ of <quote>push</quote> and <quote>pull</quote> remaining
+ separate actions. Therefore the only safe thing the
+ Subversion client can do is mark the one
+ file—<filename>foo.html</filename>—as being at
+ revision 15. The rest of the working copy remains at
+ revision 10. Only by running <command>svn update</command>
+ can the latest changes be downloaded, and the whole working
+ copy be marked as revision 15.</para>
+ @ENGLISH }}} -->
+ <para>For eksempel, tenk deg at du har en arbeidskopi der alle
+ elementene er på revisjon 10.
+ Du redigerer filen <filename>foo.html</filename> og utfører
+ deretter en <command>svn commit</command> som lager revisjon
+ 15 i depotet.
+ Etter at innleggingen er fullført, vil mange brukere forvente
+ at hele arbeidskopien er på revisjon 15, men det er ikke
+ tilfellet!
+ Alle mulige forandringer kan ha skjedd mellom revisjonene 10
+ og 15.
+ Det ville vært en løgn å påstå at vi har en arbeidskopi av
+ revisjon 15, klienten kan rett og slett ikke vite det.
+ Hvis <command>svn commit</command> på den annen side hentet de
+ nyeste forandringene automatisk, ville det være mulig å sette
+ hele arbeidskopien til revisjon 15 – men da ville vi brutt den
+ fundamentale regelen om at <!-- ¤
+ --><quote>skyveoperasjoner</quote> og
+ <quote>trekkoperasjoner</quote> skal være separate handlinger.
+ Derfor, den eneste trygge tingen som Subversionklienten kan
+ gjøre er å kun merke den ene fila –
+ <filename>foo.html</filename> – som å være på revisjon 15.
+ Resten av arbeidskopien forblir på revisjon 10.
+ Bare ved å kjøre <command>svn update</command> kan de nyeste
+ forandringene bli hentet, og hele arbeidskopien kan merkes som
+ revisjon 15.</para>
+
+ </sect3>
+
+ <sect3 id="svn.basic.in-action.mixedrevs.normal">
+ <!-- @ENGLISH {{{
+ <title>Mixed revisions are normal</title>
+ @ENGLISH }}} -->
+ <title>Blandede revisjoner er normalt</title>
+
+ <!-- @ENGLISH {{{
+ <para>The fact is, <emphasis>every time</emphasis> you
+ run <command>svn commit</command>, your working copy ends
+ up with some mixture of revisions. The things you just
+ committed are marked as having larger working revisions
+ than everything else. After several commits (with no
+ updates in-between) your working copy will contain a whole
+ mixture of revisions. Even if you're the only person
+ using the repository, you will still see this phenomenon.
+ To examine your mixture of working revisions, use
+ the <command>svn status -ﳢ-verbose</command> command (see
+ <xref linkend="svn.tour.cycle.examine.status"/> for more
+ information.)</para>
+ @ENGLISH }}} -->
+ <para>Faktum er at <emphasis>hver gang</emphasis> du kjører
+ <command>svn commit</command> ender arbeidskopien din opp
+ med en form for blanding av revisjoner.
+ Det elementet som du akkurat la inn er merket som om det har
+ et større revisjonsnummer enn alt det andre.
+ Etter flere innlegginger (uten noen oppdateringer i
+ mellomtiden) vil arbeidskopien din inneholde en stor
+ blanding av revisjoner.
+ Selv om du er den eneste personen som bruker depotet vil du
+ fortsatt se dette fenomenet.
+ For å utforske blandingen din av blandede revisjoner kan du
+ bruke kommandoen <command>svn status --verbose</command> (se
+ <xref linkend="svn.tour.cycle.examine.status"/> for mer
+ informasjon).</para>
+
+ <!-- @ENGLISH {{{
+ <para>Often, new users are completely unaware that their
+ working copy contains mixed revisions. This can be
+ confusing, because many client commands are sensitive to
+ the working revision of the item they're examining. For
+ example, the <command>svn log</command> command is used to
+ display the history of changes to a file or directory (see
+ <xref linkend="svn.tour.history.log"/>). When the user
+ invokes this command on a working copy object, they expect
+ to see the entire history of the object. But if the
+ object's working revision is quite old (often
+ because <command>svn update</command> hasn't been run in a
+ long time), then the history of
+ the <emphasis>older</emphasis> version of the object is
+ shown.</para>
+ @ENGLISH }}} -->
+ <para>Ofte er nye brukere ikke klar over at arbeidskopiene
+ deres inneholder miksede revisjoner.
+ Dette kan være forvirrende, fordi mange klientkommandoer er
+ sensitiv ovenfor arbeidsrevisjonen til elementet som de
+ utforsker.
+ For eksempel, <command>svn log</command>-kommandoen blir
+ brukt til å vise historien til en fil eller katalog (se
+ <xref linkend="svn.tour.history.log"/>).
+ Når brukeren kjører denne kommandoen på et objekt i
+ arbeidskopien, forventer de å se hele historien til
+ objektet.
+ Men hvis objektets arbeidsrevisjon er ganske gammel (ofte
+ fordi <command>svn update</command> ikke har vært kjørt på
+ aldri så lenge), blir historien til den
+ <emphasis>eldre</emphasis> versjonen av objektet
+ vist.</para>
+ </sect3>
+
+ <sect3 id="svn.basic.in-action.mixedrevs.useful">
+ <!-- @ENGLISH {{{
+ <title>Mixed revisions are useful</title>
+ @ENGLISH }}} -->
+ <title>Blandede revisjoner er nyttige</title>
+
+ <!-- @ENGLISH {{{
+ <para>If your project is sufficiently complex, you'll
+ discover that it's sometimes nice to forcibly
+ <quote>backdate</quote> portions of your working copy to
+ an earlier revision; you'll learn how to do that in
+ Chapter 3. Perhaps you'd like to test an earlier version
+ of a sub-module contained in a subdirectory, or perhaps
+ you'd like to figure out when a bug first came into
+ existence in a specific file. This is the <quote>time
+ machine</quote> aspect of a version control system —
+ the feature which allows you to move any portion of your
+ working copy forward and backward in history.</para>
+ @ENGLISH }}} -->
+ <para>Forutsatt at prosjektet ditt er komplekst nok, vil du
+ oppdage at det noen ganger er fint å kunne
+ <quote>tilbakedatere</quote> deler av arbeidskopien til en
+ tidligere revisjon; du vil lære hvordan du gjør dette i
+ kapittel 3.
+ Kanskje vil du prøve en tidligere versjon av en delmodul som
+ ligger i en underkatalog lagret i en underkatalog, eller
+ kanskje du vil finne ut når en feil først oppsto i en
+ spesiell fil.
+ Dette er <quote>tidsmaskin-aspektet</quote> i et
+ versjonskontrollsystem – funksjonaliteten som lar deg flytte
+ alle deler av arbeidskopien din framover og bakover i
+ historien.</para>
+
+ </sect3>
+
+ <sect3 id="svn.basic.in-action.mixedrevs.limits">
+ <!-- @ENGLISH {{{
+ <title>Mixed revisions have limitations</title>
+ @ENGLISH }}} -->
+ <title>Blandede revisjoner har begrensninger</title>
+
+ <!-- @ENGLISH {{{
+ <para>However you make use of mixed revisions in your
+ working copy, there are limitations to this
+ flexibility.</para>
+ @ENGLISH }}} -->
+ <para>Hvordan du enn gjør bruk av blandede revisjoner i
+ arbeidskopien din, er det begrensninger i denne
+ fleksibiliteten.</para>
+
+ <!-- @ENGLISH {{{
+ <para>First, you cannot commit the deletion of a file or
+ directory which isn't fully up-to-date. If a newer
+ version of the item exists in the repository, your attempt
+ to delete will be rejected, to prevent you from
+ accidentally destroying changes you've not yet
+ seen.</para>
+ @ENGLISH }}} -->
+ <para>For det første kan du ikke legge inn sletting av en fil
+ eller katalog som ikke er fullstendig oppdatert.
+ Hvis en nyere versjon av elementet eksisterer i depotet, vil
+ forsøket ditt på å slette bli avslått, for å forhindre deg å
+ feilaktig ødelegge forandringer som du enda ikke har
+ sett.</para>
+
+ <!-- @ENGLISH {{{
+ <para>Second, you cannot commit a metadata change to a
+ directory unless it's fully up-to-date. You'll learn
+ about attaching
+ <quote>properties</quote> to items in Chapter 6. A
+ directory's working revision defines a specific set of
+ entries and properties, and thus committing a property
+ change to an out-of-date directory may destroy properties
+ you've not yet seen.</para>
+ @ENGLISH }}} -->
+ <para>For det andre kan du ikke legge inn en
+ metadata-forandring til en katalog hvis den ikke er
+ fullstendig oppdatert.
+ Du vil få lære om å legge til <quote>egenskaper</quote> til
+ elementer i kapittel 6.
+ En katalogs arbeidsrevisjon definerer et spesifikt sett med
+ poster og egenskaper, og en innlegging av forandringer i en
+ egenskap for en utdatert katalog kan ødelegge egenskaper som
+ du enda ikke har sett.</para>
+
+ </sect3>
- <!-- @ENGLISH {{{
- <para>Second, you cannot commit a metadata change to a directory
- unless it's fully up-to-date. You'll learn about attaching
- <quote>properties</quote> to items in Chapter 6. A
- directory's working revision defines a specific set of entries
- and properties, and thus committing a property change to an
- out-of-date directory may destroy properties you've not yet
- seen.</para>
- @ENGLISH }}} -->
- <para>For det andre kan du ikke legge inn en metadata-forandring
- til en katalog hvis den ikke er fullstendig oppdatert.
- Du vil få lære om å legge til <quote>egenskaper</quote> til
- elementer i kapittel 6.
- En katalogs arbeidsrevisjon definerer et spesifikt sett med
- poster og egenskaper, og en innlegging av forandringer i en
- egenskap for en utdatert katalog kan ødelegge egenskaper som du
- enda ikke har sett.</para>
</sect2>
Modified: trunk/src/nb/book/ch07.xml
==============================================================================
--- trunk/src/nb/book/ch07.xml (original)
+++ trunk/src/nb/book/ch07.xml Tue Jul 12 14:47:34 2005
@@ -2446,23 +2446,45 @@
sorts, and we know <emphasis>exactly</emphasis> where to
go.</para>
- <para>Subversion performs a fairly straightforward algorithm when
- using peg and operative revisions to find real stuff to work on.
- First, the path associated with the peg revision is located in
- that revision in the repository. From there, Subversion begins
- stepping backwards through historical predecessors of the object
- located at that path and peg revision. Each of these
- predecessors represents an earlier version of the object, and
- each stores a record of which revision it was created in, and at
- what path. So, while traversing the set of predecessors,
- Subversion notices whenever one of them is the youngest version
- of the object to exist as of one of the operative revisions, and
- if so, maps that operative revision to the created path/created
- revision pair of the predecessor. The algorithm terminates
- either when all the operative revisions have been mapped to real
- object locations, or once there are no more predecessors to
- traverse, in which case any unmapped operative revisions are
- marked as invalid for the object being operated on.</para>
+ <sidebar>
+ <title>The "peg-revision" algorithm</title>
+
+ <para>When the commandline client sees a command of the
+ form:</para>
+
+ <screen>
+$ svn <emphasis>command</emphasis> -r <emphasis>OPERATIVE-REV</emphasis> item@<emphasis>PEG-REV</emphasis>
+</screen>
+
+ <para>...it performs the following algorithm:</para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>Go to revision <emphasis>PEG-REV</emphasis>, and
+ find <emphasis>item</emphasis>. This locates a unique
+ object in the repository.</para>
+ </listitem>
+
+ <listitem>
+ <para>Trace the object's history backwards (through any
+ possible renames) to its ancestor in
+ revision <emphasis>OPERATIVE-REV</emphasis>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Perform the requested action on that ancestor,
+ wherever it is located, or whatever its name might
+ be.</para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>Remember that even when you don't explicitly supply a
+ peg-revision, it's still present. It defaults to BASE for
+ working copy items, and to HEAD for URLs.</para>
+
+ </sidebar>
<para>Say that long ago we created our repository, and in revision 1
added our first <filename>concept</filename> directory, plus an
Modified: trunk/src/nb/book/ch09.xml
==============================================================================
--- trunk/src/nb/book/ch09.xml (original)
+++ trunk/src/nb/book/ch09.xml Tue Jul 12 14:47:34 2005
@@ -218,6 +218,15 @@
concatenation.</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--limit</option>
+ <replaceable>NUM</replaceable></term>
+ <listitem>
+ <para>Show only the first <replaceable>NUM</replaceable>
+ log messages.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><option>--message</option> (<option>-m</option>)
@@ -261,6 +270,17 @@
</varlistentry>
<varlistentry>
+ <term><option>--no-diff-added</option></term>
+ <listitem>
+ <para>Prevents Subversion from printing differences for
+ added files. The default behavior when you add a file is
+ for <command>svn diff</command> to print the same
+ differences that you would see if you had added the entire
+ contents of an existing (empty) file.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--no-diff-deleted</option></term>
<listitem>
<para>Prevents Subversion from printing differences for
@@ -285,6 +305,16 @@
</varlistentry>
<varlistentry>
+ <term><option>--no-unlock</option></term>
+ <listitem>
+ <para>Don't automatically unlock files (the default commit
+ behavior is to unlock all files listed as part of the
+ commit). See <xref linkend="svn.advanced.locking"/> for
+ more information.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--non-interactive</option></term>
<listitem>
<para>In the case of an authentication failure, or
@@ -602,7 +632,7 @@
</refnamediv>
<refsect1>
<title>Synopsis</title>
- <programlisting>svn blame TARGET...</programlisting>
+ <programlisting>svn blame TARGET[@REV]...</programlisting>
</refsect1>
<refsect1>
<title>Description</title>
@@ -783,6 +813,7 @@
--password PASS
--no-auth-cache
--non-interactive
+--ignore-externals
--config-dir DIR
</screen>
</refsect1>
@@ -956,6 +987,11 @@
<literal>editor-cmd</literal> section in <xref
linkend="svn.advanced.confarea.opts.config"/>.</para>
+ <para><command>svn commit</command> will send found lock
+ tokens and release locks on all
+ <replaceable>PATHS</replaceable> committed (recursively)
+ unless <option>--no-unlock</option> is passed.</para>
+
<tip>
<para>If you begin a commit and Subversion launches your
editor to compose the commit message, you can still
@@ -994,6 +1030,7 @@
--message (-m) TEXT
--file (-F) FILE
--quiet (-q)
+--no-unlock
--non-recursive (-N)
--targets FILENAME
--force-log
@@ -1588,7 +1625,7 @@
<refsect1>
<title>Synopsis</title>
<programlisting>svn export [-r REV] URL[@PEGREV] [PATH]</programlisting>
- <programlisting>svn export PATH1[@PEGREV] PATH2</programlisting>
+ <programlisting>svn export [-r REV] PATH1[@PEGREV] [PATH2]</programlisting>
</refsect1>
<refsect1>
<title>Description</title>
@@ -1636,6 +1673,7 @@
--password PASS
--no-auth-cache
--non-interactive
+--non-recursive
--config-dir DIR
--native-eol EOL
--ignore-externals
@@ -1828,19 +1866,21 @@
</refnamediv>
<refsect1>
<title>Synopsis</title>
- <programlisting>svn info [PATH...]</programlisting>
+ <programlisting>svn info [TARGET...]</programlisting>
</refsect1>
<refsect1>
<title>Description</title>
- <para>Print information about paths in your working copy,
- including:</para>
+ <para>Print information about both working copy paths and
+ URLs, including:</para>
<itemizedlist>
<listitem><para>Path</para></listitem>
<listitem><para>Name</para></listitem>
<listitem><para>URL</para></listitem>
<listitem><para>Revision</para></listitem>
+ <listitem><para>Repository Root</para></listitem>
+ <listitem><para>Repository UUID</para></listitem>
<listitem><para>Node Kind</para></listitem>
<listitem><para>Last Changed Author</para></listitem>
<listitem><para>Last Changed Revision</para></listitem>
@@ -1848,6 +1888,9 @@
<listitem><para>Text Last Updated</para></listitem>
<listitem><para>Properties Last Updated</para></listitem>
<listitem><para>Checksum</para></listitem>
+ <listitem><para>Lock Token</para></listitem>
+ <listitem><para>Lock Owner</para></listitem>
+ <listitem><para>Lock Creation Date</para></listitem>
</itemizedlist>
</refsect1>
@@ -1872,6 +1915,7 @@
<screen>
--targets FILENAME
--recursive (-R)
+--revision (-r)
--config-dir DIR
</screen>
</refsect1>
@@ -1888,6 +1932,8 @@
Path: foo.c
Name: foo.c
URL: http://svn.red-bean.com/repos/test/foo.c
+Repository Root: http://svn.red-bean.com/repos/test
+Repository UUID: 5e7d134a-54fb-0310-bd04-b611643e5c25
Revision: 4417
Node Kind: file
Schedule: normal
@@ -1903,8 +1949,10 @@
<screen>
$ svn info vendors
-Path: trunk
+Path: vendors
URL: http://svn.red-bean.com/repos/test/vendors
+Repository Root: http://svn.red-bean.com/repos/test
+Repository UUID: 5e7d134a-54fb-0310-bd04-b611643e5c25
Revision: 19
Node Kind: directory
Schedule: normal
@@ -1912,6 +1960,32 @@
Last Changed Rev: 19
Last Changed Date: 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003)
</screen>
+
+ <para><command>svn info</command> also acts on URLs (also
+ note that the file readme.doc in this example is locked,
+ so lock information is also provided):</para>
+
+ <screen>
+$ svn info http://svn.red-bean.com/repos/test/readme.doc
+Path: readme.doc
+Name: readme.doc
+URL: http://svn.red-bean.com/repos/test/readme.doc
+Repository Root: http://svn.red-bean.com/repos/test
+Repository UUID: 5e7d134a-54fb-0310-bd04-b611643e5c25
+Revision: 1
+Node Kind: file
+Schedule: normal
+Last Changed Author: sally
+Last Changed Rev: 42
+Last Changed Date: 2003-01-14 23:21:19 -0600 (Tue, 14 Jan 2003)
+Text Last Updated: 2003-01-14 23:21:19 -0600 (Tue, 14 Jan 2003)
+bChecksum: d41d8cd98f00b204e9800998ecf8427e
+Lock Token: opaquelocktoken:14011d4b-54fb-0310-8541-dbd16bd471b2
+Lock Owner: harry
+Lock Created: 2003-01-15 17:35:12 -0600 (Wed, 15 Jan 2003)
+</screen>
+
+
</refsect1>
</refentry>
@@ -2021,6 +2095,100 @@
</refsect1>
</refentry>
+
+ <refentry id="svn.ref.svn.c.lock">
+ <refnamediv>
+ <refname>svn lock</refname>
+ <refpurpose>Lock working copy paths or URLs in the
+ repository, so that no other user can commit changes to
+ them.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svn lock TARGET...</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Lock each <replaceable>TARGET</replaceable>. If any
+ <replaceable>TARGET</replaceable> is already locked by
+ another user, print a warning and continue locking the
+ rest of the <replaceable>TARGET</replaceable>s. Use
+ <option>--force</option> to steal a lock from another user
+ or working copy.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Alternate Names</title>
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Changes</title>
+ <para>Working Copy, Repository</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Accesses Repository</title>
+ <para>Yes</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Switches</title>
+
+ <screen>
+--targets ARG
+--message (-m) ARG
+--file (-F) ARG
+--force-log
+--encoding ARG
+--username ARG
+--password ARG
+--no-auth-cache
+--non-interactive
+--config-dir ARG
+--force
+</screen>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>Lock two files in your working copy:</para>
+
+ <screen>
+
+$ svn lock tree.jpg house.jpg
+'tree.jpg' locked by user 'harry'.
+'house.jpg' locked by user 'harry'.
+</screen>
+
+ <para>Lock a file in your working copy that is currently
+ locked by another user:</para>
+
+ <screen>
+$ svn lock tree.jpg
+svn: warning: Path '/tree.jpg is already locked by user 'harry in \
+ filesystem '/svn/repos/db'
+garibaldi: /tmp/r>svn lock --force foo
+'tree.jpg' locked by user 'sally'.
+</screen>
+
+ <para>Lock a file without a working copy:</para>
+
+ <screen>
+$ svn lock http://svn.red-bean.com/repos/test/tree.jpg
+'tree.jpg' locked by user 'sally'.
+</screen>
+
+ <para>For further details, see <xref
+ linkend="svn.advanced.locking"/>.</para>
+
+ </refsect1>
+ </refentry>
+
+
<refentry id="svn.ref.svn.c.log">
<refnamediv>
<refname>svn log</refname>
@@ -2088,6 +2256,7 @@
--targets FILENAME
--stop-on-copy
--incremental
+--limit NUM
--xml
--username USER
--password PASS
@@ -3183,10 +3352,9 @@
<option>--verbose</option>, print full revision
information on every item.</para>
- <para>The first five columns in the output are each one
+ <para>The first six columns in the output are each one
character wide, and each column gives you information
- about different aspects of each working copy
- item.</para>
+ about different aspects of each working copy item.</para>
<para>The first column indicates that an item
was added, deleted, or otherwise changed.</para>
@@ -3375,7 +3543,64 @@
</variablelist>
- <para>The out-of-date information appears in the eighth
+ <para>The sixth column is populated with lock information.</para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>' '</term>
+ <listitem>
+ <para>When <option>--show-updates</option> is used,
+ the file is not locked. If
+ <option>--show-updates</option> is
+ <emphasis>not</emphasis> used, this merely means that
+ the file is not locked in this working copy.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>K</term>
+ <listitem>
+ <para>File is locked in this working copy.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>O</term>
+ <listitem>
+ <para>File is locked either by another user or in
+ another working copy. This only appears when
+ <option>--show-updates</option> is used.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>T</term>
+ <listitem>
+ <para>File was locked in this working copy, but the
+ lock has been <quote>stolen</quote>and is invalid.
+ The file is currently locked in the repository. This
+ only appears when <option>--show-updates</option> is
+ used.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>B</term>
+ <listitem>
+ <para>File was locked in this working copy, but the
+ lock has been <quote>broken</quote>and is invalid.
+ The file is no longer locked This only appears when
+ <option>--show-updates</option> is used.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+
+
+
+ <para>The out-of-date information appears in the seventh
column (only if you pass the
<option>--show-updates</option> switch).</para>
@@ -3655,6 +3880,95 @@
</refsect1>
</refentry>
+
+ <refentry id="svn.ref.svn.c.unlock">
+ <refnamediv>
+ <refname>svn unlock</refname>
+ <refpurpose>Unlock working copy paths or
+ URLs..</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svn unlock TARGET...</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Unlock each <replaceable>TARGET</replaceable>. If any
+ <replaceable>TARGET</replaceable> is either locked by
+ another user or no valid lock token exists in the working
+ copy, print a warning and continue unlocking the rest of
+ the <replaceable>TARGET</replaceable>s. Use
+ <option>--force</option> to break a lock belonging to
+ another user or working copy.</para>
+
+ </refsect1>
+
+ <refsect1>
+ <title>Alternate Names</title>
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Changes</title>
+ <para>Working Copy, Repository</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Accesses Repository</title>
+ <para>Yes</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Switches</title>
+
+ <screen>
+--targets ARG
+--username ARG
+--password ARG
+--no-auth-cache
+--non-interactive
+--config-dir ARG
+--force
+</screen>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>Unlock two files in your working copy:</para>
+
+ <screen>
+
+$ svn unlock tree.jpg house.jpg
+'tree.jpg' unlocked.
+'house.jpg' unlocked.
+</screen>
+
+ <para>Unlock a file in your working copy that is currently
+ locked by another user:</para>
+
+ <screen>
+$ svn unlock tree.jpg
+svn: 'tree.jpg' is not locked in this working copy
+$ svn unlock --force tree.jpg
+'tree.jpg' unlocked.
+</screen>
+
+ <para>Unlock a file without a working copy:</para>
+
+ <screen>
+$ svn unlock http://svn.red-bean.com/repos/test/tree.jpg
+'tree.jpg unlocked.
+</screen>
+
+ <para>For further details, see <xref
+ linkend="svn.advanced.locking"/>.</para>
+
+ </refsect1>
+ </refentry>
+
+
<refentry id="svn.ref.svn.c.update">
<refnamediv>
<refname>svn update</refname>
@@ -3672,7 +3986,9 @@
it brings your working copy up-to-date with the
<literal>HEAD</literal> revision. Otherwise, it
synchronizes the working copy to the revision given by the
- <option>--revision</option> switch.</para>
+ <option>--revision</option> switch. As part of the
+ synchronization, <command>svn update</command> also
+ removes any stale locks found in the working copy.</para>
<para>For each updated item a line will start with a
character reporting the action taken. These characters
@@ -3950,7 +4266,10 @@
created for you.<footnote><para>Remember,
<command>svnadmin</command> works only with local
<emphasis>paths</emphasis>, not
- <emphasis>URLs</emphasis>.</para></footnote></para>
+ <emphasis>URLs</emphasis>.</para></footnote> As of
+ Subversion 1.2, <command>svnadmin</command> creates new
+ repositories with the <literal>fsfs</literal> filesystem
+ backend by default.</para>
</refsect1>
<refsect1>
@@ -4284,6 +4603,47 @@
</refsect1>
</refentry>
+ <refentry id="svn.ref.svnadmin.c.lslocks">
+ <refnamediv>
+ <refname>svnadmin lslocks</refname>
+ <refpurpose>Print descriptions of all locks.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnadmin lslocks REPOS_PATH</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Print descriptions of all locks in a repository.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Switches</title>
+
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Example</title>
+
+
+ <para>This lists the one locked file in the repository at
+ <filename>/svn/repos</filename></para>
+
+ <screen>
+$ svnadmin lslocks /svn/repos
+Path: /tree.jpg
+UUID Token: opaquelocktoken:ab00ddf0-6afb-0310-9cd0-dda813329753
+Owner: harry
+Created: 2005-07-08 17:27:36 -0500 (Fri, 08 Jul 2005)
+Expires:
+Comment (1 line):
+Rework the uppermost branches on the bald cypress in the foreground.
+</screen>
+ </refsect1>
+ </refentry>
+
<refentry id="svn.ref.svnadmin.c.lstxns">
<refnamediv>
<refname>svnadmin lstxns</refname>
@@ -4320,9 +4680,13 @@
<refentry id="svn.ref.svnadmin.c.recover">
<refnamediv>
<refname>svnadmin recover</refname>
+
<refpurpose>Bring a repository database back into a
consistent state (applies only to repositories using the
- <literal>bdb</literal> backend).</refpurpose>
+ <literal>bdb</literal> backend). In addition, if
+ <filename>repos/conf/passwd</filename> does not exist, it
+ will create a default password file .</refpurpose>
+
</refnamediv>
<refsect1>
<title>Synopsis</title>
@@ -4387,6 +4751,45 @@
</refentry>
+ <refentry id="svn.ref.svnadmin.c.rmlocks">
+ <refnamediv>
+ <refname>svnadmin rmlocks</refname>
+ <refpurpose>Unconditionally remove one or more locks from a
+ repository.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnadmin rmlocks REPOS_PATH LOCKED_PATH...</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Remove lock from each <replaceable>LOCKED_PATH</replaceable>.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Switches</title>
+
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Example</title>
+
+ <para>This deletes the locks on
+ <filename>tree.jpg</filename> and
+ <filename>house.jpg</filename> in the repository at
+ <filename>/svn/repos</filename></para>
+
+ <screen>
+$ svnadmin rmlocks /svn/repos tree.jpg house.jpg
+Removed lock on '/tree.jpg.
+Removed lock on '/house.jpg.
+</screen>
+ </refsect1>
+ </refentry>
+
+
<refentry id="svn.ref.svnadmin.c.rmtxns">
<refnamediv>
<refname>svnadmin rmtxns</refname>
@@ -4579,6 +4982,19 @@
</varlistentry>
<varlistentry>
+ <term><option>--revprop</option></term>
+ <listitem>
+ <para>Operates on a revision property instead of a
+ Subversion property specific to a file or directory.
+ This switch requires that you also pass a revision
+ with the <option>--revision</option>
+ (<option>-r</option>) switch. See <xref
+ linkend="svn.reposadmin.basics.revprops"/> for more details on
+ unversioned properties.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--transaction</option>
(<option>-t</option>)</term>
<listitem>
@@ -4801,6 +5217,7 @@
<screen>
--revision (-r)
--transaction (-t)
+--no-diff-added
--no-diff-deleted
</screen>
</refsect1>
@@ -5008,6 +5425,52 @@
</refsect1>
</refentry>
+
+ <refentry id="svn.ref.svnlook.c.lock">
+ <refnamediv>
+ <refname>svnlook lock</refname>
+ <refpurpose>If a lock exists on a path in the repository,
+ describe it.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Synopsis</title>
+ <programlisting>svnlook lock REPOS_PATH PATH_IN_REPOS</programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+
+ <para>Print all information available for the lock at
+ <replaceable>PATH_IN_REPOS</replaceable>. If
+ <replaceable>PATH_IN_REPOS</replaceable> is not locked,
+ print nothing.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Switches</title>
+
+ <para>None</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>This describes the lock on the file
+ <filename>tree.jpg</filename>.</para>
+
+ <screen>
+$ svnlook lock /svn/repos tree.jpg
+UUID Token: opaquelocktoken:ab00ddf0-6afb-0310-9cd0-dda813329753
+Owner: harry
+Created: 2005-07-08 17:27:36 -0500 (Fri, 08 Jul 2005)
+Expires:
+Comment (1 line):
+Rework the uppermost branches on the bald cypress in the foreground.
+</screen>
+
+ </refsect1>
+ </refentry>
+
+
<refentry id="svn.ref.svnlook.c.log">
<refnamediv>
<refname>svnlook log</refname>
@@ -5075,6 +5538,7 @@
<screen>
--revision (-r)
--transaction (-t)
+--revprop
</screen>
</refsect1>
@@ -5123,6 +5587,7 @@
--revision (-r)
--transaction (-t)
--verbose (-v)
+--revprop
</screen>
</refsect1>
@@ -5594,6 +6059,25 @@
</varlistentry>
<varlistentry>
+ <term><literal>SVNAutoversioning On</literal></term>
+ <listitem>
+
+ <para>This directive allows write requests from WebDAV
+ clients to result in automatic commits. A generic log
+ message is auto-generated and attached to each
+ revision. If you enable Autoversioning, you'll likely
+ want to set <literal>ModMimeUsePathInfo On</literal>
+ so that <literal>mod_mime</literal> can set
+ <literal>svn:mime-type</literal> to the correct
+ mime-type automatically (as best as
+ <literal>mod_mime</literal> is able to, of course).
+ For more information, see <xref
+ linkend="svn.webdav"/></para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><literal>SVNPath</literal></term>
<listitem>
More information about the svnbook-dev
mailing list