6
edits
m (→How to Use SVN: typo, section about patches) |
m (fix, typo) |
||
Line 1: | Line 1: | ||
Mozilla has a SVN server set up to evaluate | Mozilla has a SVN server set up to evaluate its suitability to use to replace CVS (IIRC). | ||
[http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Get | [http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Get preed’s take on it] | ||
=Repository Structure= | =Repository Structure= | ||
Line 19: | Line 19: | ||
* <tt>$Branch_Name/</tt> are the (active?) branches (i.e. MOZILLA_1_8_BRANCH, MOZILLA_1_8_0_BRANCH, etc.) These will include both release and development branches. | * <tt>$Branch_Name/</tt> are the (active?) branches (i.e. MOZILLA_1_8_BRANCH, MOZILLA_1_8_0_BRANCH, etc.) These will include both release and development branches. | ||
* <tt>releases/</tt> are release tags, i.e. FIREFOX_1_5_0_7_RELEASE; they are not writable. | * <tt>releases/</tt> are release tags, i.e. FIREFOX_1_5_0_7_RELEASE; they are not writable. | ||
* <tt>labels/</tt> are tags that | * <tt>labels/</tt> are tags that aren’t (necessarily) simple <tt>svn cp</tt>’s; that is, they may have "cherry picked" fixes, and represent uses like the current AUS2_STAGING and AUS2_PRODUCTION tags. | ||
* <tt>$project/projects/$Project_Name</tt> is an area for "project branches," branches that multiple people are working on/interested in, i.e. the "REFLOW" branch. | * <tt>$project/projects/$Project_Name</tt> is an area for "project branches," branches that multiple people are working on/interested in, i.e. the "REFLOW" branch. | ||
* <tt>$project/people/$User</tt> is an area for "personal branches," areas of development that | * <tt>$project/people/$User</tt> is an area for "personal branches," areas of development that you’re working on and will merge onto either project branches or development branches. | ||
<tt>$project</tt> will be defined on a case-by-case basis. | <tt>$project</tt> will be defined on a case-by-case basis. | ||
Line 30: | Line 30: | ||
=How to get an account= | =How to get an account= | ||
File an IT ticket with your username on the CVS server and which project | File an IT ticket with your username on the CVS server and which project you’re working on. | ||
If you | If you don’t have a CVS account, you need to get a [http://www.mozilla.org/hacking/form.html form] filled out and attach your public key to the bug. | ||
=How to connect= | =How to connect= | ||
==Windows== | ==Windows== | ||
Get [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] and [http://tortoisesvn.net/ TortoiseSVN]. | Get [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] and [http://tortoisesvn.net/ TortoiseSVN]. | ||
* | *Don’t just download the PuTTY exe, use the installer package - it contains Pageant which you need and PuTTYgen which you may need to convert your SSH key. | ||
Fire up Pageant. Right click on the icon in your system tray and click "add key." browse too your private key and select it. | Fire up Pageant. Right click on the icon in your system tray and click "add key." browse too your private key and select it. | ||
Line 61: | Line 61: | ||
If you get that far, things are good, type exit and terminate the connection. | If you get that far, things are good, type exit and terminate the connection. | ||
TortoiseSVN -> settings -> Network. Make it an empty box where it asks you to specify the SSH client. | TortoiseSVN -> settings -> Network. Make it an empty box where it asks you to specify the SSH client. I’m not sure why I did this, but it works for me. | ||
SVN checkout from svn+ssh://nameofyourputtysession/addons/ | SVN checkout from svn+ssh://nameofyourputtysession/addons/ | ||
If this | If this doesn’t work, hop on IRC and we’ll see what we can do for you. If you work out more solutions, please add them to this page. | ||
==Linux== | ==Linux== | ||
[http://subversion.tigris.org/project_packages.html Install a package] that works for you. If | [http://subversion.tigris.org/project_packages.html Install a package] that works for you. If you’re on debian or ubuntu ‘apt-get install subversion’ will handle all this for you. | ||
Line 110: | Line 110: | ||
'''Usage: svn diff [file [file...]] > patch''' | '''Usage: svn diff [file [file...]] > patch''' | ||
If you do not have an account, you can still make a patch to submit in a | If you do not have an account, you can still make a patch to submit in a bug. | ||
This command takes a list of files or directories. An example: | This command takes a list of files or directories. An example: |
edits