mirror of
https://github.com/synthetos/g2.git
synced 2026-09-22 19:43:53 +08:00
Page:
Branching and Release
Pages
9 Axis UVW Operation
Adding and Revising Configurations and Settings
Adding and Revising Motate Pinouts
Alarm Processing
Arduino DUE Pinout for g2core
Branching and Release
Compatibility Axioms
Compiling G2 on Linux and OS X (command line)
Compiling G2 on OS X (with Xcode)
Compiling G2 on Windows 10 and Atmel Studio 6.2
Compiling G2 on Windows 10 and Atmel Studio 7
Compiling G2 on Windows 7 and Atmel Studio 6.2
Compiling and configuring G2 on Windows
Compiling g2core on Linux and OS X (command line)
Compiling g2core on OS X (with Xcode)
Configuration for Firmware Version 0.98
Configuring 0.99 3D Printing Extensions
Configuring 0.99 Actions and Reports
Configuring 0.99 Axes
Configuring 0.99 Motors
Configuring 0.99 Other Groups
Configuring 0.99 System Groups
Configuring Version 0.99
Connecting to g2core
Coordinate Systems
Debugging G2 on OSX with GDB and Atmel ICE
Developer Notes
Development Process
Diagnostics
Digital DRO
Digital IO 0.98
Digital IO
Dual Endpoint USB Internals
Dual Endpoint USB Operation
Feed Rate Override
Feedhold, Resume, and Other Simple Commands
Flashing G2core with wsl
Flashing g2core with Atmel Studio and Atmel ICE
Flashing g2core with Linux
Flashing g2core with OSX
Flashing g2core with Windows
Flashing g2core
Flashing with Node SAM Ba Utility in OSX
G2 G3 Arc At Feed Rate
G2 Licensing
G2 Project Status Page
G2 in Git: cloning and updating procedures
G2core License
G2core on DUE External Interfaces
GPIO 1.x
GPIO Design Goals
GPIO Implementation
GPIO Objects and Binding
GPIO Primitives
Gcode Coordinate Offsets
Gcode Probes
Gcode Support
Gcodes
Getting Started with g2core
Home
Homing g2core
JSON Active Comments
JSON Cheat Sheet
JSON Details
JSON Operation
Jerk Controlled Motion Explained
Job Exception Handling
Licensing
Makefile Notes
Marlin Compatibility
Mcodes
Outline
Overview of Motion Processing
Persistence Functions
Power Management
Pressurizer Ventilator
Project Structure and Motate
Raster Streaming Protocol Notes
Raster Streaming Protocol
Roadmap
Status Codes
Status Reports
Text Mode
TinyG v9 Hardware
TinyG v9 Testing
Tool Offsets and Selection
Tool Types Beyond Spindle
Toolheads
Useful Stuff
Using Atom
Using Pin Changes for Timing (and light debugging)
VSCode Setup
Walk through, using a Due and lower power stepper motor drivers
What is g2core
Windows, VMware, Atmel Studio Notes
Windows 10 VMware Fusion 8 Issues
ZZZ DEPRECATED Adding a new G2 board (or revision) to G2
ZZZ DEPRECATED Changelog for Edge Branches
g2.axis
g2core Communications
g2core REST Examples
g2core REST Interface
g2core REST Resources
g2core REST Swagger
g2core in use
g2dialect 3D Printing Codes
g2dialect Consensus Gcode
g2dialect Consensus Mcodes
g2dialect Operating Model
g2dialect
gQuintic Specs
zzz(DEPRECATED) Uploading TinyG2 to a DUE gShield or TinyG v9
zzzSafety Interlock Behaviors
Clone
31
Branching and Release
Alden Hart edited this page 2018-06-26 13:58:53 -04:00
Table of Contents
--- DRAFT ---
This page discusses proposed changes to the branching and release scheme for g2core. Please feel free to comment and edit.
Current Branch and Release
- Master branch - is currently the stable release branch. Pushes to master are performed periodically as code gets sufficient field history from early adopters of edge code
- Edge branch - is currently the working branch. Bug and feature updates are performed against this branch. All pull requests should be performed from this branch.
- Issue-NNN branches - are created to work on bugs or features. These are pulled into edge via pull requests.
- Dev branches - The Dev prefix has already been deprecated, but you may still see some dev branches around.
New Branch and Release
The proposed scheme is below:
- Master branch - is the working branch. Bug and feature updates are performed against this branch. All pull requests should be performed from this branch.
- ** Release branches ** are branches for creating releases. These are created from master when a Major or Minor release is planned. Subsequent development occurs again the release branch, and is usually limited to version number changes and tagging. The release branch is used to create binaries for the release section, put out release notes, update the wiki with info about it, etc. Bug fixes that come in against the release are addressed as issues/PRs in master, then cherry picked back to the release branch. After a certain point the version may be updated with a new point release (patch) and new binaries created.
- Issue-NNN branches - are created to work on bugs or features. These are pulled into Master via pull requests against Master.
- Deprecated and Older Branches
- Edge branch - Edge will be deprecated and ultimately removed.
- Dev branches - The Dev prefix has been deprecated, but you may still see some dev branches for a while
- Legacy branches such as digital-dro and omc-072.65 may still exist for historical reasons
Semantic Versioning
The new branches will work to a fairly standard semantic versioning scheme - major.minor.patch:
- Major: Anything can change, including:
- changes to machining behaviors
- changes that affect the semantics of existing JSON variables
- changes that require configuration files to revised
- e.g. polarity sense
- minor or patch level changes may also be included, but do not force a Major revision
- Minor: Limited things can change, including:
- new machining or other features
- new JSON objects can be added
- new JSON tags can be added to existing objects
- ...as long as they do not change the semantics of existing attributes
- new values to existing objects
- patch level changes may also be included, but do not force a Minor revision
- NOTE: In some limited and very well documented cases a deprecated command may be removed that may force changes to UIs
- Patch: bug fixes:
- may change erroneous behavior but not "enhancement" bugs
Getting Started Pages
- Home
- What is g2core?
- Who uses g2core?
- Jerk-Controlled Motion
- Getting Started with g2core
- Connecting to g2core
- Configuring g2core
- Flashing g2core
- Troubleshooting
Reference Pages
- Gcodes
- Mcodes
- Text Mode
- JSON Communications
- GPIO Digital IO
- Alarms & Exceptions
- Power Management
- Coordinate Systems
- Status Reports
- Status Codes
- G2 Communications
- Tool Offsets and Selection
- Probing
- Feedhold, Resume, Job Kill
- Marlin Compatibility
- 9 Axis UVW Operation
- gQuintic Specs
Discussion Topics
- Roadmap
- GPIO for 1.X Releases
- Toolheads
- Raster Streaming Prototol
- g2core REST Interface
- Gcode Parsing
- G2 3DP Dialect
- Consensus Gcode
- Digital DRO
- Overview of Motion Processing
Developer Pages
- Development & Contribution
- Branching and Release - DRAFT
- Getting Started with g2core Development
- Project Structure & Motate
- Compiling G2
- OSX w/Xcode
- OSX/Linux Command Line
- Windows10 w/AtmelStudio7
- Debugging G2 on OSX
- Board and Machine Profiles
- Arduino Due Pinout
- Arduino DUE External Interfaces
- Diagnostics
- Debugging w/Motate Pins
- Development Troubleshooting
- g2core Communications
- Git Procedures
- Windows 10 / VMware 8 Issues
- Dual Endpoint USB Internals
- G2core License
- VSCode Setup
- Compatibility Axioms
- Wiki History