Difference between revisions of "Charon"

From CUSF Wiki
Jump to navigation Jump to search
("Revert "Update Charon from latest on GitHub"")
Tag: Replaced
("More detailed Charon docs")
Line 1: Line 1:
Charon is an integration between [[Git]] and SolidWorks. Docs are in progress.
''This page is unfinished''


[https://github.com/smh-my-head/charon GitHub link]
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