Editing Developer Documents

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
[[Category:Design Documents]]
+
= Projects under active development =
[[category:Projects]]
 
  
== Introduction ==
+
* [[libpg : A parametrics/constraint library]]
If you are going to contribute and wish to be the part of ongoing development of BRL-CAD, you are highly recommended to read following introductory article to let you know the current roadmap of the project.
+
* [[Revolve Primitive]]
 +
* [[OpenGL GUI Framework]]
 +
* [[Metropolis_Light_Transport|Global Illumination using Metropolis Light Transport]]
 +
* [[Geometry Service]]
  
[[An Introduction To New Developers]]
+
= Developer FAQ =
  
== Developer FAQ ==
+
== I'm trying to add a new file to the repository and I get an error on commit about mime types.  What should I do? ==
  
=== I'm interested in BRL-CAD development. How can I get involved? ===
+
You should set the mime type.
  
* Join the IRC channel #brlcad at irc.libera.chat and/or the [http://lists.sourceforge.net/lists/listinfo/brlcad-devel developer mailing list]
+
Subversion uses file mime-types for lots of useful things like for web interface browsing of the repository. You can either set up your subversion config to auto-set mime types or you can directly set the mime type on the file before you commit the file using svn propset.
* Read the [https://github.com/BRL-CAD/brlcad/blob/main/HACKING developer's guide]
 
* Start submitting [https://github.com/BRL-CAD/brlcad/pulls pull requests]
 
  
=== I'm trying to add a new file to the repository and I get an error on commit about mime types. What should I do? ===
+
Sean provides a copy of his Subversion configuration that includes property settings for many file types. You can download and install it with this:
  
You should set the mime type. See [[mime-types]] for more information.
+
'''curl http://brlcad.org/~sean/subversion.config > ~/.subversion/config'''
  
== Developer Examples ==
+
Once installed, run ''svn revert'' on your new file and then add it again.  The properties should be set if the config file is installed properly and it's a recognized file type.
  
* [[Example_libbu|Linking against a library]]
+
This problem usually looks like this:
* [[Example_db_walk_tree|Using db_walk_tree()]]
 
* [[GCV_Plugin_Tutorial]]
 
* [[:Category:Code examples]]
 
  
== Development Tips ==
+
[sean@bz (Wed May 28 13:27:55) brlcad]$ svn commit some_new_file.c
* [[Compiling]]
+
Sending      some_new_file.c
* [[Emacs]]
+
Transmitting file data ...svn: Commit failed (details follow):
* [[SVN+SSH]]
+
svn: MERGE request failed on '/svnroot/brlcad/brlcad/trunk'
 +
svn: 'pre-commit' hook failed with error output:
 +
/var/local/mastertree/service-svn/hook-scripts/check-mime-type.pl:
 +
 +
brlcad/trunk/some_new_file.c : svn:mime-type is not set
 +
 +
 +
    Every added file must have the svn:mime-type property set. In
 +
    addition text files must have the svn:eol-style property set.
 +
   
 +
    For binary files try running
 +
    svn propset svn:mime-type application/octet-stream path/of/file
 +
   
 +
    For text files try
 +
    svn propset svn:mime-type text/plain path/of/file
 +
    svn propset svn:eol-style native path/of/file
 +
   
 +
    You may want to consider uncommenting the auto-props section
 +
    in your ~/.subversion/config file. Read the Subversion book
 +
    (http://svnbook.red-bean.com/), Chapter 7, Properties section,
 +
    Automatic Property Setting subsection for more help.
  
== Development Projects ==
+
[sean@bz (Wed May 28 13:28:55) brlcad]$ svn revert some_new_file.c
 
+
Reverted 'some_new_file.c'
* [[Online Geometry]]
+
[sean@bz (Wed May 28 13:29:55) brlcad]$ curl http://brlcad.org/~sean/subversion.config > ~/.subversion/config
** [[OGV|Online Geometry Viewer Project]]
+
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
*** [[OGV_on_FreeBSD]]
+
                                  Dload  Upload  Total  Spent    Left  Speed
** [http://more.brlcad.org/ BRL-CAD Model Repository]
+
100 10810  100 10810    0    0  30099      0 --:--:-- --:--:-- --:--:-- 81278
* New GUI
+
[sean@bz (Wed May 28 13:30:55) brlcad]$ svn add some_new_file.c
** [[OpenGL GUI Framework]]
+
A         some_new_file.c
* Geometry Engine / Server
+
[sean@bz (Wed May 28 13:31:55) brlcad]$ svn commit some_new_file.c
** [[BRL-CAD's core C++ interface]]
+
... no mime type error ...
** [[Geometry Service]]
 
*** [[Geometry_Service_Project_Main|Geometry Service Project]]
 
* Geometry Conversion
 
** [[ProE-BRL|Pro/ENGINEER to BRL-CAD export plugin]]
 
** [[STEP|ISO 103030 STEP Geometry Conversion Support]]
 
* Community Initiatives
 
** [[Google Summer of Code]]
 
** [[ESA Summer of Code in Space]]
 
** [[Google Code In]]
 
** [[Google_Doc_Camp|Google Doc Camp]]
 
** [[Google Season of Docs]]
 
* Out-of-date Orphans
 
** [[libpg : A parametrics/constraint library]]
 
** [[libpc | libpc : Geometric Constraint Solving]]
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)