Difference between revisions of "Dev:Source code"

From Synfig Studio :: Documentation
Jump to: navigation, search
(Update to github repository)
m (toc / comment outdated stuff / add dev mailing list link)
Line 8: Line 8:
  
 
Commit notifications to master branch are <strike>sent to [http://cia.vc/stats/project/synfig CIA] and</strike> shown up in the {{l|Contact|IRC channel}}.
 
Commit notifications to master branch are <strike>sent to [http://cia.vc/stats/project/synfig CIA] and</strike> shown up in the {{l|Contact|IRC channel}}.
 
While you are browsing the code, you may wish to refer to these links:
 
 
* [http://www.synfig.org/issues/thebuggenie/synfig Bug tracker]
 
* [http://download.tuxfamily.org/synfig/api/index.html API documentation]
 
* {{l|Dev:Source Outline|source code outline}}
 
* {{l|Dev:Source Glossary|source code glossary}}
 
* {{l|Dev:ETL_make_check|ETL make check failures}}
 
* {{l|Dev:Layers|Mapping between layer types, classes and .cpp files}}
 
* {{l|Dev:class_ValueNode|ValueNode types}}
 
* {{l|Dev:BlendMethods|Blend Method enumeration values}}
 
* {{l|Interesting Readings}}
 
  
 
== GIT repository at Github==
 
== GIT repository at Github==
Line 29: Line 17:
  
 
   git clone git@github.com:synfig/synfig.git
 
   git clone git@github.com:synfig/synfig.git
 +
 
Or this one if you prefer https protocol:
 
Or this one if you prefer https protocol:
 +
 
  git clone https://github.com/synfig/synfig.git
 
  git clone https://github.com/synfig/synfig.git
  
Line 36: Line 26:
 
Check out [https://help.github.com Github help page] for further references.
 
Check out [https://help.github.com Github help page] for further references.
  
==Proposed workflow and other repositories ==
+
=Proposed git workflow=
 
+
Proposed git workflow:
+
  
 
* Consider the '''master''' branch the stable one.  
 
* Consider the '''master''' branch the stable one.  
Line 51: Line 39:
 
** If the release consist on a set of important features and/or includes non backward compatible file format, then increase the second level numeration: 0.64.1 -> 0.65.0
 
** If the release consist on a set of important features and/or includes non backward compatible file format, then increase the second level numeration: 0.64.1 -> 0.65.0
  
 +
=See Also=
 +
While you are browsing the code, you may wish to refer to these links:
 +
 +
* [http://www.synfig.org/issues/thebuggenie/synfig Bug tracker]
 +
* [http://sourceforge.net/p/synfig/mailman/synfig-devl/ Synfig Dev mailing list]
 +
==Code overview==
 +
* [http://download.tuxfamily.org/synfig/api/index.html API documentation]
 +
* {{l|Dev:Source Outline|source code outline}}
 +
* {{l|Dev:Source Glossary|source code glossary}}
 +
* {{l|Dev:Layers|Mapping between layer types, classes and .cpp files}}
 +
* {{l|Dev:class_ValueNode|ValueNode types}}
 +
* {{l|Dev:BlendMethods|Blend Method enumeration values}}
 +
==Others==
 +
* {{l|Dev:ETL_make_check|ETL make check failures}}
 +
* {{l|Interesting Readings}}
 +
 +
<!--
 
Proposed set of git repositories (this section is outdated):
 
Proposed set of git repositories (this section is outdated):
  
Line 68: Line 73:
 
* misc/* - various stuff needed
 
* misc/* - various stuff needed
 
** misc/svn2git.git - the scripts used to convert the SVN repo to git
 
** misc/svn2git.git - the scripts used to convert the SVN repo to git
 +
-->

Revision as of 18:06, 18 October 2016


Hey you! Do you want access to bleeding-edge Synfig? Well, I have good news. We provide a way to get the code:

  • Using git (one repository)

Once you grab the code, you will need to follow the build instructions.

Commit notifications to master branch are sent to CIA and shown up in the IRC channel.

GIT repository at Github

Anonymous access:

 git clone git://github.com/synfig/synfig.git 

People with commit access should use this command instead:

 git clone git@github.com:synfig/synfig.git

Or this one if you prefer https protocol:

git clone https://github.com/synfig/synfig.git

You can also check out the web interface to that repository.

Check out Github help page for further references.

Proposed git workflow

  • Consider the master branch the stable one.
  • Each coder should have a username_master branch where all the small changes are done.
  • Once the username_master branch is considered stable it can be rebased/merged to master.
  • Work on new non-trivial features/fixes on username_feature branches.
  • Once the username_feature branch is considered stable it can be rebased/merged to master.
  • Obviously commit trivial fixes straight to the master.
  • If it is possible, rebase & rework branches to keep history more sane, linear and atomic.
  • Releases are tagged according to following criteria:
    • If the release consist on a few trivial set of features or bug fixes then increase the third numeration level: 0.64.0 -> 0.64.1
    • If the release consist on a set of important features and/or includes non backward compatible file format, then increase the second level numeration: 0.64.1 -> 0.65.0

See Also

While you are browsing the code, you may wish to refer to these links:

Code overview

Others