Difference between revisions of "Charon"
("More detailed Charon docs") |
("Fix user links") |
||
Line 2: | Line 2: | ||
Charon is an integration between [[Git]] and SolidWorks, designed by | Charon is an integration between [[Git]] and SolidWorks, designed by | ||
[[HenryFranks|Henry Franks]] and [[TimClifford|Tim Clifford]] to eliminate the | [[User:HenryFranks|Henry Franks]] and [[User:TimClifford|Tim Clifford]] to eliminate the | ||
re-occuring problem of having \>10 versions of a CAD assembly on the Google | re-occuring problem of having \>10 versions of a CAD assembly on the Google | ||
Drive (with only one person understanding it). | Drive (with only one person understanding it). |
Revision as of 17:29, 28 April 2021
This page is unfinished
Charon is an integration between Git and SolidWorks, designed by Henry Franks and Tim Clifford to eliminate the re-occuring problem of having \>10 versions of a CAD assembly on the Google Drive (with only one person understanding it).
The GitHub repository can be found here. It is developed by Tim and Henry seperately from CUSF (and thus not under the cuspaceflight organisation) but you are welcome to contribute.
It is assumed that you understand Git, please read that page first. Charon aims to keep the overall workflow as similar as possible to using Git for code, with two important differences:
Features and Usage
Enhanced diffs
Without Charon, all git diff
can tell you is that two files are
different. With charon enabled, git diff
will open SolidWorks to
show you an interactive, graphical diff between the files, like this:
TODO: example image
Usable mergetool
Charon makes merging branches actually possible (but it will never be that easy...). A merge conflict will be presented in the same way:
TODO: Example conflict
<source>
But on running <code>git mergetool</code>, you will be presented with a menu
like this:
<source>
TODO: Example mergetool menu
The options are fairly self explanatory.
TODO: another screenshot
Installation
Enabling Charon in a repository
To enable Charon in an existing repository, add it as a submodule and run the setup script:
git submodule add https://github.com/smh-my-head/charon
git submodule update --init
./charon/setup.sh
Cloning a repository that uses Charon
When cloning a repository that uses Charon, you will need to need to run the setup script. Something like:
git clone https://github.com/cuspaceflight/repository-that-uses-charon
cd repository-that-uses-charon
git submodule update --init
./charon/setup.sh
Updating Charon
You may want to update Charon if improvements are made. To do this, update the submodule and then run the setup script again (each user will need to run the setup script):
git submodule update --remote
./charon/setup.sh