Changes between Version 3 and Version 4 of HowtoSVN


Ignore:
Timestamp:
09/28/11 09:58:16 (6 years ago)
Author:
thanatermesis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowtoSVN

    v3 v4  
    1010 * Obtain a list of the possible projects to download from a SVN repository: 
    1111{{{ 
    12 svn list --verbose svn://elivecd.org 
     12svn list --verbose svn://dev.elivecd.org 
    1313}}} 
    14  * Download the sources of the subdir ''translations'': 
     14 * '''Download''' the sources of the subdir ''translations'': 
    1515{{{ 
    16 svn co svn://elivecd.org/translations translations_svn 
     16svn co svn://dev.elivecd.org/translations translations_svn 
    1717}}} 
    1818    * ,,We have used  '''translations'''  for this example,, 
     
    2020    * ,, ''' svn co '''  is the same as  ''' svn checkout ''' ,, 
    2121 
    22  * Update a previous downloaded SVN copy: 
     22 * '''Update''' a previous downloaded SVN copy: 
    2323{{{ 
    2424svn update 
    2525}}} 
     26   * '''IMPORTANT''': If you are a developer (that you change the source code and will send/commit it later), '''always''' update your directory/copy BEFORE to start working on it, also, it is recommended to not send your changes after hours or days of work, the reason of this is because if somebody else is working at the same time on the same sources, you or him will have a conflict with the sources when trying to send them. In the next section is explained an easy trick to resolve this easly. 
    2627 
    2728[[BR]] 
    2829== For developers ==  
    2930 
    30  * See the differences between your copy and the original repository (if you have made any changes in the code) 
     31 * See the '''differences''' between your downloaded SVN and the original sources in the repository (if you have made any modifications) 
    3132{{{ 
    3233svn diff 
    3334}}} 
    34  * Send modifications of the files ''(commit)'' 
     35 * '''Send''' modifications of the files ''(also called '''commit''')'' 
    3536{{{ 
    3637svn commit -m 'Fixed the bug of double interfaces launched' 
    37 svn commit evidence-gui* -m 'Commiting the evidence-gui files' 
     38svn commit evidence-gui* -m 'Sending all the evidence-gui prefixed files' 
    3839}}} 
    39     * ,,You need to add a comment with the '''-m''' option, it's important that you provide a good description in order to better understand the steps of the code, and browse better old versions and old modifications,, 
     40    * You need to add a comment with the '''-m''' option, it's important that you provide a good description in order to know better ''what is about'' your modifications, and so to browse more easly changes in the repository when you are searching for specific things 
    4041 
    41  * Upload (add files/directories) it in the next commit 
     42 * '''Add''' files/directories that will be uploaded in your next commit. 
    4243{{{ 
    4344svn add file 
     
    4546svn add images/*.png 
    4647}}} 
    47    * '''Important''': When you do ''svn add directory'', it will be included ALL the files and subdirectories of this directory, this means that you will add a lot of files that are not needed, like '''.edj''', elf or binary files, compiled ones, etc... '''please''' clean up the directories that you are adding to the SVN before to import them, we dont want to have '''not-needed''' files in the SVN repository that will takes space on the server, making a svn repository slow, and that conflicts with our own builds. '''Thanks''' 
    48  * Delete files 
     48   * '''IMPORTANT''': When you do ''svn add directory'', it will be included ALL the files and subdirectories of this directory, this means that you will add a lot of files that are not needed, like '''.edj''', elf or binary/compiled files, etc... '''PLEASE''' clean up the directories that you are adding to the SVN before to import them with this command, we dont want to have '''not-needed''' files in the SVN repository that will takes space on the server and our copies, making a svn repository slow, and that will also conflict with our own builds (like files that are compilable). '''Thanks''' 
     49   * Note: If you copy a file to your directory and don't run this command, it will be not uploaded to the repository, this is very useful like if you compile a .edj file and you don't need to send it. 
     50 
     51 * '''Delete''' files 
    4952{{{ 
    5053svn delete file 
     
    5356}}} 
    5457 
    55  * Move files 
     58 * '''Move''' files 
    5659{{{ 
    5760svn mkdir data 
     
    5962}}} 
    6063 
    61  * Revert modifications (''Revert modifications (that are '''not commited''' yet), don't need ''internet'' connection, but it won't recover a deleted directory'') 
     64 * '''Revert''' modifications (''Revert modifications (that are '''not commited''' yet), you can also use ''delete'' if you do it before to commit 
    6265{{{ 
    6366svn revert file 
     
    7073}}} 
    7174 
    72  * Fix your changes with another persons changes ( ^When you have worked in this file, another person has worked also, and there are differences between the new changes, you need to fix your code with the new commit of this person^ ) 
     75 * Fix your changes with another persons changes ( ,,When you have worked in this file, another person has worked also, and there are differences between the new changes, you need to fix your code with the new commit of this person,, ) 
    7376{{{ 
    7477---> This section need to be edited, i have never tried these options <--- 
     
    7780svn help resolved 
    7881}}} 
     82 
     83 * '''TIP''' about fixing changes (conflicts) between different codes: 
     84If you have a conflict when trying to send your modifications, because somebody else has also send modifications in the file that are you working (and so, you have started to work in a version of the sources that is previous to his changes, in other words, you need to mix your changes with his changes), an easy way to do this is to; move your conflicting directory to elsewhere, like ''directory.mine'', run ''svn update'' in order to get a new copy of that directory updated that include the changes that conflicts with yours, now run the tool ''meld'' with your modifications and the new directory (on this order), then you have in the left your changes that needs to be merged in the right, with this tool you can do it very easly and fast (try to press the keys ''shift, control, alt'' before to merge, to see more options). When you have finished to include your changes in the new directory, exit the application and commit the new directory like it was your original one, go to http://dev.elivecd.org/timeline and if your changes looks correct, remove the old directory. 
    7985 
    8086These are the definitions of the ''flags'' that you see when you download or update a SVN copy: