254
edits
ArunGiridhar (talk | contribs) Tags: Mobile edit Mobile web edit |
(→Creating and submitting patches (changesets): Replace mirror by link to main repository) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[https://www.mercurial-scm.org Mercurial] (sometimes referred to as {{codeline|hg}}) is the source code management system used for Octave development. | [https://www.mercurial-scm.org Mercurial] (sometimes referred to as {{codeline|hg}}) is the source code management system used for Octave development. | ||
Everybody is free to '''run, copy, distribute, study, change and improve'''<ref>https://www.gnu.org/philosophy/free-sw.en.html</ref> Octave's source code, given in the main repository at https://www.octave.org/hg/octave. Use Mercurial to get the latest version of Octave <pre>hg clone https:// | Everybody is free to '''run, copy, distribute, study, change and improve'''<ref>https://www.gnu.org/philosophy/free-sw.en.html</ref> Octave's source code, given in the main repository at https://www.octave.org/hg/octave. Use Mercurial to get the latest version of Octave <pre>hg clone https://www.octave.org/hg/octave</pre> | ||
== Workflow reference == | == Workflow reference == | ||
Line 8: | Line 8: | ||
* Initial clone: <pre>hg clone https://hg.savannah.gnu.org/hgweb/octave/</pre> | * Initial clone: <pre>hg clone https://hg.savannah.gnu.org/hgweb/octave/</pre> | ||
You can then bootstrap, configure and make, maybe make install. | You can then bootstrap, configure and make, make check, maybe make install. | ||
* To update on a regular basis, you can do <pre>hg pull -u</pre> or <pre>hg pull && hg up</pre> | * To update on a regular basis, you can do <pre>hg pull -u</pre> or <pre>hg pull && hg up</pre> | ||
* To make a '' | * To make a ''local clone'', you can clone from your main Octave repository on your computer to another directory like this: <pre>hg clone octave myfeature</pre> which will clone the Octave directory into a new directory called "myfeature". You'll need to cd to the correct directory first. Then you can cd into the new directory and run bootstrap, configure, make. To prevent a fresh download of gnulib, you can specify the path to the first Octave directory's gnulib if you want. | ||
It is best practice to make a new clone directory for each feature or bugfix you work on, which makes recovery from mistakes much easier. | It is best practice to make a new clone directory for each feature or bugfix you work on, which makes recovery from mistakes much easier. | ||
Line 35: | Line 35: | ||
If you want to share your modifications, for example to fix a nasty '''bug #42424''', you cannot just submit your changes to Octave's main repository. You have to generate a '''patch (or changeset)''' so other Octave developers can include them into Octave's source code. | If you want to share your modifications, for example to fix a nasty '''bug #42424''', you cannot just submit your changes to Octave's main repository. You have to generate a '''patch (or changeset)''' so other Octave developers can include them into Octave's source code. | ||
# Get the latest version of Octave (or some Octave package) <pre>hg clone https:// | # Get the latest version of Octave (or some Octave package) <pre>hg clone https://www.octave.org/hg/octave</pre> or when already cloned <pre>hg pull && hg update</pre> | ||
# Make your changes (fix bug #42424) and save them. '''Make sure that your changes don't introduce new bugs!''' Thus it is recommended to [[Building | build Octave]] and to [[Tests | run Octave's test suite]] before proceeding.<br>{{Warning|Please follow the [[Contribution guidelines]] for C/C++ or Octave code files!}} | # Make your changes (fix bug #42424) and save them. '''Make sure that your changes don't introduce new bugs!''' Thus it is recommended to [[Building | build Octave]] and to [[Tests | run Octave's test suite]] before proceeding.<br>{{Warning|Please follow the [[Contribution guidelines]] for C/C++ or Octave code files!}} | ||
# Commit your changes <pre>hg commit</pre> Mercurial will open your default editor<ref>To set your default Mercurial editor, read https://www.mercurial-scm.org/wiki/editor .</ref> and ask you for a commit message. Please follow the [[commit message guidelines]], e.g. <syntaxhighlight lang="text">help.m: Display relevant topics first (bug #42424) | # Commit your changes <pre>hg commit</pre> Mercurial will open your default editor<ref>To set your default Mercurial editor, read https://www.mercurial-scm.org/wiki/editor .</ref> and ask you for a commit message. Please follow the [[commit message guidelines]], e.g. <syntaxhighlight lang="text">help.m: Display relevant topics first (bug #42424) |