Difference between revisions of "Charon"
("Revert "Update Charon from latest on GitHub"") Tag: Replaced |
("More detailed Charon docs") |
||
Line 1: | Line 1: | ||
''This page is unfinished'' | |||
[https://github.com/smh-my-head/charon | Charon is an integration between [[Git]] and SolidWorks, designed by | ||
[[HenryFranks|Henry Franks]] and [[TimClifford|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 [https://github.com/smh-my-head 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 <code>git diff</code> can tell you is that two files are | |||
different. With charon enabled, <code>git diff</code> 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: | |||
<source> | |||
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 | |||
</source> | |||
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: | |||
<source lang="bash"> | |||
git submodule add https://github.com/smh-my-head/charon | |||
git submodule update --init | |||
./charon/setup.sh | |||
</source> | |||
== 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: | |||
<source lang="bash"> | |||
git clone https://github.com/cuspaceflight/repository-that-uses-charon | |||
cd repository-that-uses-charon | |||
git submodule update --init | |||
./charon/setup.sh | |||
</source> | |||
== 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): | |||
<source lang="bash"> | |||
git submodule update --remote | |||
./charon/setup.sh | |||
</source> |
Revision as of 17:27, 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