Changes between Version 15 and Version 16 of pm-svn-cmds


Ignore:
Timestamp:
Feb 19, 2011 12:35:03 PM (10 years ago)
Author:
stefan
Comment:

replace COIN by COIN-OR; fix a few typos

Legend:

Unmodified
Added
Removed
Modified
  • pm-svn-cmds

    v15 v16  
    11= Basic Subversion Commands =
    22
    3 Below we list the subversion command line commands that a typical developer has to know about.  Online help is available using {{{svn help}}}.  A detailed description of each command can be found in the "Subversion Complete Reference" chapter of the subversion book, at [http://svnbook.red-bean.com/nightly/en/svn.ref.html http://svnbook.red-bean.com/nightly/en/svn.ref.html] [[br]]
     3Below we list the subversion command line commands that a typical developer should know about.  Online help is available using {{{svn help}}}.  A detailed description of each command can be found in the [http://svnbook.red-bean.com/nightly/en/svn.ref.html "Subversion Complete Reference" chapter] of the [http://svnbook.red-bean.com Subversion Book].
    44
    5 '''Terminology''': [wiki:user-directories#Nomenclature COIN Package vs COIN Project]
     5'''Terminology''': [wiki:user-directories#Nomenclature COIN-OR Package vs. COIN-OR Project]
    66
    77== Subversion Configuration File ==
     
    4040=== svn checkout (short form: svn co) ===
    4141
    42 '''Checks out a directory plus all subdirectories''' from a subversion repository.  The COIN repositories are available from the URL {{{https://projects.coin-or.org/svn}}}.  For each COIN package, say {{{Pkg}}}, you obtain everything in the package (including all branches and tags) by specifying "{{{svn co https://projects.coin-or.org/svn/Pkg/}}}"; if you only want a part of the code, such as the current official release (by convention in the subdirecory {{{trunk}}}, you type {{{svn co https://projects.coin-or.org/svn/Pkg/trunk}}}.  Usually, you should specify the target directory where you want your local copy of the code to be stored (such as {{{Coin-Pkg}}}).  If the target directory is omitted, the source code will be installed in a subdirectory with the name of the last directory in the URL, i.e., {{{trunk}}} in the example above.
     42'''Checks out a directory plus all subdirectories''' from a subversion repository.  The COIN-OR repositories are available from the URL {{{https://projects.coin-or.org/svn}}}.  For each COIN-OR package, say {{{Pkg}}}, you obtain everything in the package (including all branches and tags) by specifying "{{{svn co https://projects.coin-or.org/svn/Pkg/}}}"; if you only want a part of the code, such as the current official release (by convention in the subdirectory {{{trunk}}}, you type {{{svn co https://projects.coin-or.org/svn/Pkg/trunk}}}.  Usually, you should specify the target directory where you want your local copy of the code to be stored (such as {{{Coin-Pkg}}}).  If the target directory is omitted, the source code will be installed in a subdirectory with the name of the last directory in the URL, i.e., {{{trunk}}} in the example above.
    4343
    4444If you want to specify a specific revision that you want to check out, you can do this using the {{{-r N}}} flag, where {{{N}}} is the revision number.
     
    4646By default, {{{svn checkout}}} will download files from other subversion repositories, if [wiki:pm-svn-externals svn externals] are defined for directories in the specified URL, and will recurse to further locations if externals are defined there.  If you don't want to download any externals, specify the {{{--ignore-externals}}} flag.
    4747
    48 The COIN svn repository is set up in a way, so that everybody can download files, without having to provide a password.  You will have to provide your id and password once, if you want to do a write action, such as {{{svn submit}}}.
     48The COIN-OR svn repository is set up in a way, so that everybody can download files, without having to provide a password.  You will have to provide your id and password once, if you want to do a write action, such as {{{svn submit}}}.
    4949
    5050=== svn update (short form: svn up) ===
    5151
    52 '''Updates the local copy''' to the current version of the current directory and subdirectories, or of a specific directory, if this directory is given as argument (e.g., {{{svn up subdir}}}).  If you have made changes in your local copy, subversion will try to merge the difference between the previously checked-out version and the new one.  If it has trouble doing that, it will notify you of a ''conflict''.  You should then have a look at the files for which a conflict occured and fix it; the location of a conflict is marked by {{{<<<}}} and {{{>>>}}} strings.
     52'''Updates the local copy''' to the current version of the current directory and subdirectories, or of a specific directory, if this directory is given as argument (e.g., {{{svn up subdir}}}).  If you have made changes in your local copy, subversion will try to merge the difference between the previously checked-out version and the new one.  If it has trouble doing that, it will notify you of a ''conflict''.  You should then have a look at the files for which a conflict occurred and fix it; the location of a conflict is marked by {{{<<<}}} and {{{>>>}}} strings.
    5353It is important that you ''resolve'' the conflict, either by using {{{svn resolved}}} or {{{svn revert}}}, because you will otherwise not be able to commit your changes.
    5454
     
    7373You should enter a message that describe the changes that you made, so that later on you can see in the subversion history what has been going on.  You can enter the message on the command line, using the "{{{-m}}}" flag, followed by the message (in quotes).  If you omit the {{{-m}}} flag, you default editor will open for you to enter the message.
    7474
    75 '''Note''':  For most COIN packages, we use [wiki:pm-svn-externals subversion externals] to obtain dependencies.  The {{{commit}}} command does not automatically recurse into externals; therefore, you have to do a {{{commit}}} by hand.  '''Make sure you are not committing code to an external with a specified version number in the externals definition!'''
     75'''Note''':  For most COIN-OR packages, we use [wiki:pm-svn-externals subversion externals] to obtain dependencies.  The {{{commit}}} command does not automatically recurse into externals; therefore, you have to do a {{{commit}}} by hand.  '''Make sure you are not committing code to an external with a specified version number in the externals definition! '''
    7676
    7777=== svn diff (short form: svn di) ===
    7878
    79 To '''see the details of local modifications in your working copy''', you use this command.  You can specify a file or directory name as argument, to narrow down, which modifications you want to have shown.  Again, the {{{-N}}} flag can be used to suppress recursion into subdirectories.  You can also see the differences of your local copy with respect to a particular revision in the repositry, by using the "{{{-r N}}}" flag, where {{{N}}} is the specific revision number.
     79To '''see the details of local modifications in your working copy''', you use this command.  You can specify a file or directory name as argument, to narrow down, which modifications you want to have shown.  Again, the {{{-N}}} flag can be used to suppress recursion into subdirectories.  You can also see the differences of your local copy with respect to a particular revision in the repository, by using the "{{{-r N}}}" flag, where {{{N}}} is the specific revision number.
    8080
    8181=== svn revert ===
     
    8585=== svn resolved ===
    8686
    87 This command is necessary to tell subversion that you '''resolved a conflict that occured earlier during an update or a merge'''.  Unless you ''resolve'' those conflicts, you will not be able to commit local changes of the files and directories, for which the conflict occurred.  A conflict is also resolve automatically, if you use the {{{revert}}} command.
     87This command is necessary to tell subversion that you '''resolved a conflict that occurred earlier during an update or a merge'''.  Unless you ''resolve'' those conflicts, you will not be able to commit local changes of the files and directories, for which the conflict occurred.  A conflict is also resolve automatically, if you use the {{{revert}}} command.
    8888
    8989=== svn add ===
     
    9393=== svn remove (short form: svn rm) ===
    9494
    95 This command '''deteles a file or directory (including content) in your local copy and marks those files for deletion'''.  The files will be deleted in the repository when you type "{{{svn commit}}}" the next time.  In your local copy, directories will actually remain there, until you commit, but they will be empty.  ''Do not delete them by hand!''.  '''You should always use this command, and never the shell {{{rm}}} command directory on version controlled files and directories.'''   Note that you can can give only one argument at a time to this command, i.e., in order to delete several files, you will have to use this command for each one, e.g., using the {{{xargs}}} UNIX command.
     95This command '''deletes a file or directory (including content) in your local copy and marks those files for deletion'''.  The files will be deleted in the repository when you type "{{{svn commit}}}" the next time.  In your local copy, directories will actually remain there, until you commit, but they will be empty.  ''Do not delete them by hand!''.  '''You should always use this command, and never the shell {{{rm}}} command directory on version controlled files and directories.'''   Note that you can can give only one argument at a time to this command, i.e., in order to delete several files, you will have to use this command for each one, e.g., using the {{{xargs}}} UNIX command.
    9696
    9797=== svn copy (short form: svn cp) ===