Jump to content

Jebretary - Automatic Version Control (backups) for craft and saves [v0.4.0]


Recommended Posts

TwMPnGU.jpg

Automatic Version control and craft management

[table]

[tr][td]

v0.4.0

[/td][td]

KSP 1.0 (and lower) compatible

Fully stock compatible, mostly mod compatible.

[/td][/tr][/table]

[table][tr][td]

Latest Release

Download 0.4.0

Download Jebretary 0.3.4 (exe) || DL as zip

Download Jebretary 0.3.3 (exe) || DL as zip

Download Jebretary 0.3.2

Download Jebretary 0.3.1

Download Jebretary 0.2.4

Download Jebretary 0.2.3

Download Jebretary 0.2.2

Download Jebretary 0.1.5

[/td][td]

Prerequisite

Download Git

[/td][td]

Issues | Licence | Source

[/td][/tr][/table]

You must install 'git' to use Jebretary. Read the first time install instructions.

You need to install the git version control system before Jebretary can work.

git installation

First Download git and run the installer.

There are several important options you must select during the install.

  • When it asks you to select Components you need to select the "Git Bash Here" option under Windows Explorer integration.
  • On the page for "Adjusting your PATH environment" it will show you 3 options, you MUST select "Run Git from the Windows Command Prompt" (2nd option)

Once git has installed you need to do 1 more thing and then you can forget about it forever. You need to give git a name and email address, this is just so git can say who was the author of files it is tracking (you can give it fake details if you want).

Right click on your desktop and select "Git Bash Here". This will open up a terminal. In the terminal type the following two commands (replacing the name and email with your own and press enter after each command).


git config --global user.name "Red Mantle"
git config --global user.email "red_mantle@guild_of_calamitous_intent.com"

Then close the terminal and you are done with git.

Jebretary Installation

Once you have git installed, Download Jebretary and run the installer.

You can install it wherever you like except it can't be installed inside the program files folders or inside KSP. I recommend installing it to c:\jebretary

The other options are up to you. Just so you know, the installer installs the complete "Ruby on Rails" framework which it needs to function.

When Jebretary has installed run it, a couple terminals will open and your browser should open a new tab and connect. If it doesn't you need to open a tab and connect to http://localhost:3000/.

You then need to tell Jebretary where KSP is installed, either enter the path to KSP or run KSP and Jebretary should detect it and then you can just click on it.

read this if you've not used Jebretary before, seriously, read it!

If you had Jebretary before then you don't need to re-install or update git.

Delete the entire folder where Jebretary is installed and install the new version. Then tell Jebretary where KSP is installed again, you won't have lost any version history as that is all stored in the git repos within each save directory in KSP.

What is Jebretary?

Jebretary is a stand alone tool that automatically tracks versions of your craft, subassemblies and saves as you play KSP.

It ensures that if either you or KSP mess up a craft file or a save, you can always go back to a previous version and recover it.

It also provides info for each craft about which mods they use and enables you to write notes about craft as you develop them.

You can search for craft/subassembles across all your KSP installs and have certain craft/subassemblies sync'd between campaigns.

Main Features

  • Automatic versioning of craft, subassemblies and saves
    - a crafts' version is automatically incremented each time it is launched after being edited.
    - Quicksaves, autosaves and subassemblies get a new version each time they change.
  • Browser based interface allows you to revert a craft, subassembly or save back to any of its past versions.
    - Deleted craft and subassemblies can be restored (so long as it was deleted after you'd started used Jebretary).
    - You can also write notes about the current version of a craft or save.
    - Access Jebretary from any web-device on your local network.
  • Manage version control for multiple different KSP installs
    - easily move/copy craft between installs and campaigns
    - synchronize certain craft across selected campaigns.

Other Features

  • Mod Information - Each craft has a list of which mods it uses
    - mod and stock craft are colour coded, blue for stock, green for mod
    - craft that are missing parts are marked.
  • Search for craft and subassemblies across all your KSP installs.
  • Remote Launch - start KSP from a remote device (on your network).
    - you can now launch KSP from your mobile while making tea and have it ready and waiting for you. (tea not included).

These pics are out of date, I'll get new ones up soon

[table]

[tr][td]

Front Page, lists the KSP installs that are being tracked, enables you to add other KSP installs to be tracked.

NI4tvOrl.jpg

[/td][td]

Campaign List - Clicking on an install of KSP on the front page will show this page. It lists the campaigns (and shows their flags) that are found in that install.

gzmu1RCl.jpg

[/td][/tr]

[/table]

Campaign Page - Each campaign has a page like this, showing all the craft in two searchable, sortable lists. At the top is the craft you are currently working on, or if you're on mission it will show your most recent quick and autosaves. Stock and mod craft are shown in different colours (blue for stock, green for mod).

nM8RL5Ql.jpg

Campaign page showing a craft with missing parts

2wXTdJAl.jpg

Campaign page showing craft which have been deleted. (you can click on a deleted craft to recover it).

JWDeteJl.jpg

Each craft has its own page showing its full version history along with the notes you've written.

vs7A5obl.jpg

On the crafts page there is a list of the mods that craft is using and a break down of individual parts being used. If you click on a part it will open the folder in GameData where that part lives.

TVB1d9Ml.jpg

User Manual

Inside the folder where you installed Jebretary are 3 .exe files. liquid.exe, oxidizer.exe and launch.exe. launch.exe simply runs the other two.

- Run launch.exe and two terminals will open and start doing stuff (one monitors your craft, the other runs the interface server).

- Now open your favourite browser* and connect to localhost:3000 (running launch.exe should do this automatically)

*If your favourite browser is either Firefox, Chrome or Safari. Oh and IE10+ too, I suppose.

When you first use Jebretary you need to tell it which install of KSP you want it to track. You can either enter in the path to KSP into the text box, or you can simply run KSP and Jebretary will detect the path for you so you can just click on it.

If you do type the path, it needs to be the full path from the root to the folder where KSP.exe is contained ie c:\games\kerbal space program

Once you've entered a path and clicked OK (or clicked on the path of a running install) you will see a page with the campaigns' flags displayed (it might take 10 seconds or so before the campaign flags appear). Jebretary will then start to scan all the craft in those campaigns and add them to version control. If you already have lots of craft you will see a counter under each campaign as they are added to version control. Once the craft are added a message will popup to say the initial scan is complete and you can then click on a campaign to see the list of its craft.

Click on the campaign you are going to play. As you play KSP the page will change according to what you are doing, your most recently created or edited craft will appear at the top as the "current project". The current project will show links to allow you to revert to the 3 most recent versions and a more link that will show you the full history of the craft. (see "reverting a craft to a previous version" below for how to go back to a previous version)

New craft are automatically added to version control straight away, but when you edit a craft and hit save the changes will not be tracked straight away. It waits until you launch the craft so all the changes made during one editing session will be saved as the next version. But if you need to you can force a new version at any point by clicking the save button on the current project.

While you are making changes you can make notes about the current version (if you want).

When you make a quicksave the current project will be replaced with a list of the 5 most recent quicksaves. You can click restore the revert the quicksave to a previous version or click "view full save history" to see all the past quicksaves and autosaves.

  • Click on the name of the craft to view its full history.
  • Select which version you want to go back to to and click 'restore' on that version.
  • The next page will show information about the version, click the Revert button.
  • Reload the craft in KSP

example;

When you have a craft which is at version 4 and you then restore it to version 2, the craft will show as being version 4 +changes. If you then reloaded and launched the craft it will then be at version 5. You can get back to how the craft was before you restored version 2 by restoring version 4.

If the craft has untracked changes (ie saved edits since you last launched it) and you then choose to restore a previous version, then those untracked changes will be lost.

  • When you do a quicksave the current project will be replaced with a list of the 5 most recent quicksaves.
    - or you can click 'saves' at anytime to show your 5 most recent saves
    - to see older versions click "view full save history"
  • Click restore on a version and then OK in the confirmation message that will appear.
  • Hold f9 in KSP to load it.

When reverting an autosave you also get an option to restore it as a quicksave. This enables you to load any autosave as if it was a quicksave by holding f9.

It doesn't matter how you delete a craft, Jebretary will track that the craft was deleted and you will be able to recover the craft later.

You can delete craft from in KSP, by manually removing the file from the saves folder, or you can do it from within Jebretary; click on a crafts name and then click delete (or the 'd' link shown when you mouse over a craft).

If you have deleted craft in your campaign (since you started using Jebretary) you can click the "show deleted craft" link under the flag on a campaigns page. (the link is only there if there are deleted craft).

Craft that have been deleted will re-appear in the list of craft and will be highlighted in red. If you click on the deleted crafts' name you can then click "Recover It!" and it (and its history) will be restored.

You can move, copy and sync craft between any of the campaigns that are being tracked. Moving copying and syncing craft/subassemblies is controlled from the same interface.

click on a craft and click the "Move, Copy or Sync Craft" link (or the 'mcs' link shown when you mouse over a craft).

This will show you a list of all the other campaigns that are being tracked.

To Move or Copy a craft; click on the campaign you want to move it to and then click "move" or "copy".

When you move a craft the craft will be created in the destination campaign and will be marked as being deleted in its original campaign. note, moving a craft does not move its history.

You can select multiple destination campaigns when moving or copying. To unselect a campaign just click on it again.

You can move, copy and sync craft between any of the campaigns that are being tracked. Moving copying and syncing craft/subassemblies is controlled from the same interface.

click on a craft and click the "Move, Copy or Sync Craft" link (or the 'mcs' link shown when you mouse over a craft).

This will show you a list of all the other campaigns that are being tracked.

Select 1 or more campaigns from the list and click the "sync" button.

The craft will now be present in each of the campaigns you selected and if you change it in either of those campaigns the changes will be updated to the others.

When you next click on the "Move, Copy or Sync Craft" link, the campaigns the craft is sync'd with will be highlighted. You can select additional campaigns to sync with, or deselect a one it's currently sync'd with. After selecting/deselecting campaigns press sync to update.

You can write a short note about the changes you've made which can make it easier to identify particular versions later on, or if you just want to have a description of the crafts history.

You can only write notes about the current craft being edited and only about the current version.

On the current project click "click to edit text" and a dialog will appear which you can type into. When you've written your note just hit tab and it will be updated.

You can do the same for quickaves and autosaves by clicking the "add notes about current save" link that is shown under the saves list.

Your notes will be displayed along with the craft or saves history and in the case of craft will appear if you hover the mouse over a version number.

Once you have setup one install of KSP when you return to the main page (click on Jebretary in the header), it will have changed. It will list the tracked installs and at the bottom of the page there is a link to enable you to add other installs to be tracked. Again if you run the KSP install you want to track Jebretary will be able to detect the path for you.

You can connect to Jebretary from any web capable device that's on your local area network. You just need to know the ip address of the machine Jebretary is running on (it will be displayed at the bottom of Jebretary's interface, on the launch pad)

Then in the browser on your networked device connect to <ip_address>:3000. ie 192.168.1.42:3000

On the right side of each install listed on the front page is a link that will enable you to launch KSP and once KSP is running to exit it. At the top of each campaign page there is also a link that will start the correct install of KSP for that campaign. Use these links from a mobile device to trigger your machine to launch KSP.

Exiting KSP from these links is like simply ending the process, its a bit of a remote rage-quit button.

Backing up to a separate drive/location

This is something that git inherently enables but which I've not yet built an interface for. If you know git you'll know what's coming.

Create a folder where you want to create the backup. right click inside that folder and click 'git bash here' to open a terminal.

Now you need to know the full path to the campaign you want to backup, for example r:\games\KSPv0.23.0-Stock\saves\AirCareer

Then into the terminal type;


git clone r:/games/KSPv0.23.0-Stock/saves/AirCareer

NOTE - the \ need to be written as /

When you hit enter the repo will be cloned into that folder. It's not just the current files its the full history too.

In the future when you want to update the backup go into it and open a terminal and type


git pull origin master

I will automate this process too at some point.

Jebretary is still in development and I'm adding new features to it.

There are also some bugs that I'm still trying to iron out and I need your help in testing it and reporting errors that you find.

Reporting Errors

If something is not working right for you please let me know, either on here or you can use the issue tracker on github.

If there is an error it will be logged in an error.log file in Jebretary's installation directory and a message will popup to let you know. You can then submit the error.log file to me by uploading it to my mediafire filedrop.. (the message will also contain that link and a link to open the directory where the error.log is).

Drag the file onto my mediafire file drop and upload it. It will ask you for a description, please put your fourm user name so I can ask you for more details if needed.

When you've uploaded it, click Ok on the message in Jebretary and the error log will be wiped.

You can disable the error message from appearing under settings on the front page.

Version History


==0.4.0
- New Feature - Craft Synchronizing
- you can set certain craft and subassemblies to be sync'd between specific campaigns. This means that changes made to the craft/sub in 1 campaign will automatically be mirrored to the other campaigns it is sync'd with.
- new copy/move interface (which now also controls sync options)
- the copy/move/sync and the delete dialogs can now be accessed from the list of craft in each campaign as well as on each crafts' page.
- New Feature - Global search - search for craft and subasemblies across all tracked installs.
- Choose which mode x64 or x32 to launch each instance (assuming both exe's are present as in the steam version).
- bug fixes
- deleting or moving an install no longer causes the background monitor to crash.
- the deleted craft was not being shown when only subassembles had been deleted, fixed

== 0.3.4
- bug fixes
- craft which had been deleted before re-installing Jebretary where not being detected
- craft with copied parts (using module manager) should now be detected propperly
- rewrite of background processing system
- better logic for skipping campaigns that don't need to be processed (each pass by liquid.exe should be faster)
- Jebretary will now refresh its info about installed parts for each instance when Jebretary starts
- does mean it takes a bit longer to start, but everything from then on will be faster.
- Also allows Jebretary to know if you've changes/updated your mods/parts
- if it detects that parts have been changed Jebretary will re-scan craft part info and update info on effected craft.
- If you know that you aren't going to be changing/updating parts then you can disable the auto refresh of part info on start.
- You can also manually request a re-scan of part info on the page for a particular Instance.

== 0.3.3
- support for x64 version of KSP
- applied patch from EdvardM to fix an edge case where a commit doesn't have a date stamp.
- fixed caching method in campaign_controller. Live info of changes was not being displayed as changes happed in some campaigns.

== 0.3.2
- bug fixs
- cfg files in the root of GameData and in saves are now ignored
- Source folders from some mods which contain cfg files are ignored.

== 0.3.1
- page load caching for campaign, craft and subassembly show pages
- faster display of revert save dialogs
- shows a notice if there is an error.log to upload and instructions on how to upload (can be disabled in settings)
- launches browser tab when started

==0.3.0
- new feature: Subassembly Tracking

==0.2.5
- bug fix; can now launch KSP if the path to KSP has spaces
- more error logging

==0.2.4
- better error handling in part parsing section
- added a simple error logger, errors will be written to an error.log file in the root of Jebretar

==0.2.3
- you can define which "mods" are considered stock for Jebretary to distinguish mod or stock craft. Defaults are "Squad" and "NASAmission"
- bug fix; parts that have non UTF-8 chars no longer cause a problem when parsing parts
- bug fix; parts that use both '.' and '_' in their part names are now identified correctly

==0.2.0 -> 0.2.2
- bug fix, an error in error-handling was preventing errors from being handled! ;)
- crafts list is now only updated if there has been a change to display. With large numbers of craft and the new parts info displayed this request was being slow

==0.2.0
- craft part information
- system builds and caches a map of the parts found in each KSP install
- determine if a craft is stock or mod
- determine if a crafts parts are missing from the game
- display of used parts on a crafts page with link that opens a window to that part

==0.1.5
- Can now detect a running instance of KSP and get the executable path
- rather than typing in the path you want to track, just run KSP and then select it.
- KSP can be launched and shutdown from the front page
- you can now launch KSP on your KSP machine from a mobile device somewhere on your network.


==0.1.4
- bug fix, campaigns with existing git repo where not getting detected by a fresh install of Jebretary
- bug fix, updating a message at the same time as the craft is commited was not working.
- bug fix, only the most recent instance was being processed
- reduced occurance of commit messages having to be written to repo after commit.
- system only performs check for previously deleted craft(ie craft deleted and commited to git before using Jebretary) once on startup.
- further improvments to runing speed of background monitor
- minor interface tweeks

==0.1.3
- rewrote controller logic for editing messages
- fixed bug where deleting a craft via KSP or OS was crashing interface
- more efficient selects of git history -> faster updating of craft list
- improvment to background monitor, runs faster now!

==0.1.2
- MAJOR change to backend. Scrapped 3rd party code and wrote my own git interface, faster, stronger, better!!
(should really be several versions!)


==0.1.1
- added sort 'n' search on the craft lists
- fixed bug where a campaign without any craft hung the interface

==0.1.0
- test release version

==0.0.12
- changed entry point for background runner
- DB select and view loading optimisation
- ready for test release!?

==0.0.11
- quicksave can now be replaced with the persistent file allowing for f9 reload
- show deleted craft link only is shown if there are tracked deleted craft

==0.0.10
- bug fixes
- changed how commit messages for saves are shown
- minor System optimizaton
- more detailed elapsed time display
- updated help

==0.0.9
- major change to how commit messages are updated into the repo. User can now edit commit messages while there are untracked changes in the repo. The messages will be stored on the craft object and will be written to the repo later, once all changes have been tracked.
- quicksave and persistent files can now be reverted from interface
- interface automattically displays either current project or saves depending on which has been most recently changed. While editing a craft the current project is show, once the user does a quicksave it will switch to displaying saves.
- git garbage collector is called periodically to ensure the repo is kept compressed.


==0.0.8
- added quicksave and persistent file tracking (but no facility to revert as yet).
- added ability to move/copy craft file to another campaign in the same or other instance.
- added ability to delete craft files.
- Fixed - editing a commit message at the same time as the craft is automatically commited no longer looses the message

==0.0.7
- improved commit message editing. Now current commit message can be editied while the git repo is not in a state to take a message update
+ messages from previous commits can still be edited as before
+ messages are edited in a dialog which gets around the page update issue
- changed how craft are reverted. Instead of reverting automattically creating a new commit (version), now reverting a craft leaves it as untracked changes. Makes it easier to quickly check a past version and then return to current state, or check out several past versions one after the other while looking for the right one (without each checkout automatically meaning a new commit).
- started adding help tips to appear on first use and on request
- added settings file which currently is used to track which help tips the user has seen.
- optimized System.process (background polling loop).

==0.0.6
- autosaved ships are no longer shown as current project
- flags for campaigns are processed sooner
- craft previously deleted in the repo are now detected (and craft object assigned as marked as deleted). Now previously deleted craft can be recovered

==0.0.5
- can now choose to revert to a previous commit without commiting the revert. This allows for a temporary revert without adding more to the timeline
- can now revert while there are untracked changes, with a warning to say untracked changes will be lost

==0.0.4
Stuff that happened before

Edited by katateochi
0.4.0 release
Link to comment
Share on other sites

This is super cool! Seems fairly complex for a basic user though. Do you think it would be plausible to have perhaps a helper plugin that lets you access it from within the game? Not sure how that would work, just throwing the idea out there.

Link to comment
Share on other sites

This is super cool! Seems fairly complex for a basic user though. Do you think it would be plausible to have perhaps a helper plugin that lets you access it from within the game? Not sure how that would work, just throwing the idea out there.

Thanks! It's probably not ideal for the most basic user and if you've not heard about git before it might seem a bit daunting. But it really is very simple to use.

I'm not sure how to set about making a helper plugin like you suggest but that would be nice. For me the most important thing is that it used git to do the version tracking because git is hard as nails. I didn't know how I could make a KSP plugin that could interface with git. I also wanted it to be accessible from a 2nd computer or tablet device and I needed a database so in the end using a web-framework seemed logical. But that also does make it harder to interface with KSP.

Link to comment
Share on other sites

This seems like it will be quite useful, I can see myself using this a lot.

Awesome! I'd be really interested to hear how you find it and any suggestions you might have.

I'm working on a new feature atm. This will add information about craft parts. It will show if a craft uses mods or is stock and if the craft is missing any parts from the game.

On the page for a mod-craft it will list the mods which the craft needs. A list of each different part for a craft can also be seen and clicking on a part will open a window to that parts folder.

Link to comment
Share on other sites

Cheers! I hope it works out for you. Let me know if you have any issues.

Is this the project you were talking about on the youtube posts about the filesharing program you were working on?

Edit: Turns out it was indeed the project you where working on at the time.

Edited by MK3424
Link to comment
Share on other sites

Is this the project you were talking about on the youtube posts about the filesharing program you were working on?

It might have been something similar. I was working on a script that could create a zip of all the parts that a craft needs for easy sharing, but I've realized that I can't release that project because of the licence agreements on some mods.

This project is more about protecting craft files against user or KSP error, but I have plans for further development. The version I'm currently working on uses parts from that script to work out what mods a craft uses, but it won't create a zip of the parts for you. For now it just tells you what mods a craft needs (or if its stock) or if the craft is missing parts.

I might try to get permission from individual mods so I can enable redistribution of their mod, then it could build zips containing parts from allowed mods. But that will take time and won't cover all mods.

I'm also working on an online storage service that Jebretary can interface directly with and upload craft files to, but that's still in its early stages.

Link to comment
Share on other sites

  • 2 weeks later...

I have used this quite a bit, It is great for saving every version of a spaceship or airplane you have built, sometimes you take the adding things too far and you want to go back to when it worked, hehe. But I think the most useful thing is the save files, I use quite a bit of mods and sometimes a mod will break my saves, this is great for going back, before that infamous mod blacked your screen and you couldn't even get to the space center. Also if you took a trip to the Mun and decided to go to Minimus, then when you get back to KSC, you figured you probably could of gone to Duna, as long as you quicksaved, you can give it a go. I am not very computer literate, but I was able to get through the installation of the git following Katateochi's instructions, I don't think I could live without this now. It has saved my ass a few times.

Link to comment
Share on other sites

A very logical next step is to use git to version manage mods too. Especially becuase savegames have dependencies on mods (even though it may be untenable to track them ourselves). But git is perfectly stable on all KSP platforms, and it would make a better add-on manager than any of the existing ones.

Perhaps if you're interested in this route I'll join you!

Link to comment
Share on other sites

I have used this quite a bit, It is great for saving every version of a spaceship or airplane you have built, sometimes you take the adding things too far and you want to go back to when it worked, hehe. But I think the most useful thing is the save files, I use quite a bit of mods and sometimes a mod will break my saves, this is great for going back, before that infamous mod blacked your screen and you couldn't even get to the space center. Also if you took a trip to the Mun and decided to go to Minimus, then when you get back to KSC, you figured you probably could of gone to Duna, as long as you quicksaved, you can give it a go. I am not very computer literate, but I was able to get through the installation of the git following Katateochi's instructions, I don't think I could live without this now. It has saved my ass a few times.

Thankyou Xzabath and for all your feedback during my earlier testing. It's really been a great help.

This is glorious and oh so useful!

Thanks man! Do give me a shout, either here or by PM, if you have any issues or suggestions.

A very logical next step is to use git to version manage mods too. Especially becuase savegames have dependencies on mods (even though it may be untenable to track them ourselves). But git is perfectly stable on all KSP platforms, and it would make a better add-on manager than any of the existing ones.

Perhaps if you're interested in this route I'll join you!

I had considered doing that but I'd worried about the overhead, as the initial commit of all the mods would basically double the size of your KSP install. And then as the mod files are mostly binaries (at least the big ones!) it wouldn't be able to track the differences just the whole file changes so the size of the repo would balloon with each mod update.

But that being said I've very little experience of using git to track large files so there might be some tricks to make that work better. Sounds like you might know a trick or two as your thinking on these lines. Would be really interested in talking to you on this. It would be wicked to be able to rewind your saves to any point regardless of changes in mod versions.

If all mods where maintained in git and up on github then we could do some really cool things. It might be possible to just track the specific commit ids of mods and then pull the required versions from github rather than have to store them on the users machine. The ultimate goal would be to enable craft sharing that automatically fetches not only the required mods but the right versions, but that would require all mod developers to settle on some standards (for version numbering etc) so that might be a challenge. One day maybe!

Link to comment
Share on other sites

  • 2 weeks later...

*blinks* Using Git to do version control instead of trying create your own scheme from scratch was smart thinking. I kinda scratched my head at why Git was a dependency until I realized what you were doing. Actually, I'm quite glad this exists. Having a craft list that gets longer and longer because of new versions is somewhat annoying.

I assume that because it doesn't have any plugins, it will stay current, so long as Squad doesn't change the folder structure for saves and craft files.

Edited by phoenix_ca
Link to comment
Share on other sites

So (having never used git before) I downloaded git and installed both it and jebretary. I selected my name and email although got nothing to say anything had happened (is there a way of checking?) and started jebretary then KSP. I selected my install and it found 5 campaigns and then failed to load any of the craft. I`m getting an error.

D:/Jebretary/src/script/rails: no such file or directory - git init

this is repeated for git add ".gitignore", git commit, git init, git add, git commit and git ls-files --other--exclude--standard

I`ll try reinstalling jebretary and see if that helps

EDIT : It didn`t help. I`ll try reinstalling Git and double check each step.

EDIT : That seems to have done the trick. I am getting names of my craft instead of error messages.

Edited by John FX
Link to comment
Share on other sites

*blinks* Using Git to do version control instead of trying create your own scheme from scratch was smart thinking. I kinda scratched my head at why Git was a dependency until I realized what you were doing. Actually, I'm quite glad this exists. Having a craft list that gets longer and longer because of new versions is somewhat annoying.

I assume that because it doesn't have any plugins, it will stay current, so long as Squad doesn't change the folder structure for saves and craft files.

It was having long lists of backed-up craft was what got me started on this path and also I realised that taking entire copies of quicksaves eventually started taking up quite a bit of space. as git only stores the difference between versions its much more space efficient.

and yes, so long as folder structures and some aspects of the structure of craft files don't change this should be fairly resistant to KSP updates. I've been running this now for several versions while developing and testing it and so far updates have not effected it.

The versions of your craft are also independent of Jebretary (and updates to Jebretary) as all the important information is stored in the git repo. If you delete Jebretary and then reinstall it later and point it KSP again, it will pick everything up again and all the versions will be present. Jebretary just has an internal database that tracks where KSP is installed and gives it a quick ref for the craft, but once you tell it where KSP is again it will rebuild the database and nothing is lost.

So (having never used git before) I downloaded git and installed both it and jebretary. I selected my name and email although got nothing to say anything had happened (is there a way of checking?) and started jebretary then KSP. I selected my install and it found 5 campaigns and then failed to load any of the craft. I`m getting an error.

D:/Jebretary/src/script/rails: no such file or directory - git init

this is repeated for git add ".gitignore", git commit, git init, git add, git commit and git ls-files --other--exclude--standard

I`ll try reinstalling jebretary and see if that helps

EDIT : It didn`t help. I`ll try reinstalling Git and double check each step.

EDIT : That seems to have done the trick. I am getting names of my craft instead of error messages.

ah man I'm sorry I didn't see your post while you where having troubles. Glad you managed to get it working in the end. Was it that git hadn't been added to your PATH by the first install attempt? I will try to add a more helpful error message if it can't find git.

New version coming soon; it identifies which craft are stock and which are mod based. On mod craft it will list the mods used and on all craft it will give a list of all the parts and clicking on a part will open that parts folder (I find that useful sometimes!). It will also warn you if a craft is missing parts and can say what parts it is missing (only actually missing parts, not parts that are currently locked by career).

After the clocks changed I noticed that the timestamp on saves was being incorrectly displayed. That should be fixed in the new version, but I'd be interested to hear from y'all in other timezones if you get time based issues. you shouldn't but omg time in programming is a pain!

Tracking sub-assemblies is coming too, but that will be the version after next.

Link to comment
Share on other sites

Katateochi,

You're unreal... I didn't know Kerbal Space Center could be equipped with a full storage foundation and storage management server system. This is like KSP-Veritas Heaven. "Hurrah"

No more manual copy paste all the time.

Thanks for that.

Link to comment
Share on other sites

  • 2 weeks later...

I've released a new version (0.2.2) that adds the ability for Jebretary to tell you some information about each craft it is tracking. It can distinguish between stock and mod craft (and they are now colour coded in the craft lists) and it can tell you which mods a particular craft is using.

It also provides a list of each part that is used (and how many times each part is used) and you can click on a part to open its folder in GameData.

It will also warn you if a craft is missing parts and if you click on that craft it will detail which parts are missing.

A few wee bugs were squished too and some optimization was done to the monitoring process.

There was an issue with the time stamps that occurred after the clocks changed. That should now be fixed but I'd be interested to hear if that is working correctly in different time zones (as it now uses time with time zone support).

If your're upgrading from the previous version you will need to completely delete your current install of Jebretary and then install the new version. You will have to tell the new version where KSP is installed again, but you won't loose any of your version history as that is stored in the git repos.

Link to comment
Share on other sites

It was having long lists of backed-up craft was what got me started on this path and also I realised that taking entire copies of quicksaves eventually started taking up quite a bit of space. as git only stores the difference between versions its much more space efficient.

and yes, so long as folder structures and some aspects of the structure of craft files don't change this should be fairly resistant to KSP updates. I've been running this now for several versions while developing and testing it and so far updates have not effected it.

The versions of your craft are also independent of Jebretary (and updates to Jebretary) as all the important information is stored in the git repo. If you delete Jebretary and then reinstall it later and point it KSP again, it will pick everything up again and all the versions will be present. Jebretary just has an internal database that tracks where KSP is installed and gives it a quick ref for the craft, but once you tell it where KSP is again it will rebuild the database and nothing is lost.

ah man I'm sorry I didn't see your post while you where having troubles. Glad you managed to get it working in the end. Was it that git hadn't been added to your PATH by the first install attempt? I will try to add a more helpful error message if it can't find git.

New version coming soon; it identifies which craft are stock and which are mod based. On mod craft it will list the mods used and on all craft it will give a list of all the parts and clicking on a part will open that parts folder (I find that useful sometimes!). It will also warn you if a craft is missing parts and can say what parts it is missing (only actually missing parts, not parts that are currently locked by career).

After the clocks changed I noticed that the timestamp on saves was being incorrectly displayed. That should be fixed in the new version, but I'd be interested to hear from y'all in other timezones if you get time based issues. you shouldn't but omg time in programming is a pain!

Tracking sub-assemblies is coming too, but that will be the version after next.

No need to change anything, I pretty much ignored the install instructions (yes I am that user) and everything worked fine if I followed them properly...

Yes, I didn`t click the PATH bit on the Git install.

Awesome work on this. I now have every single change tracked on my install.

I only found this after Mulbin lost the latest Munbug (VAB symmetry bug) and I thought "Surely there is a mod for that?"

Often I think "Why can`t I load this craft?" "What part is missing?" or "Have I removed all of part X?"

Now I will know...

Thank you very much for releasing this.

Can`t wait for tracked subassemblies!

Link to comment
Share on other sites

Thanks for the update.

Its good to have a safety net to catch poor Jeb and I, from crashing and burning. Now we can even rely on properly restoring old crafts and troubleshooting them against the ever-changing "GameData" folder.

Link to comment
Share on other sites

Hey katateochi,

this is a really nice tool. I totally appreciate the work you put in it, which must have been a lot. Thanks for it.

Notes on minor things:

- i didn't set up my git properly (name & email) so all operations failed, at least git said so. Jebretary didn't mind and thought everything was normal.

- i use ntfs junctions for my personal mods which Jebretary does not recognize apparently. It would be cool if it did. Surprisingly KSP follows junctions even to other drives.

Edit: - failure to recognize "2.5.Heatshield" as available part (shows as missing). From DRE and it's installed as usual in the proper GameData directory.

Edited by DaMichel
point added
Link to comment
Share on other sites

This is just what i wanted. nice work! BUT i do get a error i see in the console of liquid before it closes down.

Initialzing....

commiting Auto-Saved SHip.....!!Monitor Error!!

invalid byte sequence in UTF-8

On win7 x64

It pulls 1 craft file from the top most save, and nothing else from any other campaign.

jebretary is installed in c:/games

ife tried running in differnt compatability modes, as admin (setting with property), with and without pants on, and have had no luck.

EDIT:Git version Git-1.9.2-preview20140411

Edited by thrandisher
Link to comment
Share on other sites

*snip

Thank you very much for releasing this.

Can`t wait for tracked subassemblies!

No worries! Glad its working for you now.

I'm working on Subassemblies now. I'm going to treat them more like saves than craft, in that they will be tracked the instant they change, rather than waiting for a launch. I think that makes more sense for them.

The other thing I want to do is to give you the option to "mirror" your subassemblies across campaigns (and installs). The idea being that you can go into one campaign and select 1 or more other campaigns to mirror. Then whatever changes/additions you make to sub's in either of those campaigns will be propagated to the other selected campaigns. I often find I want my subs from one campaign in another so I copy them over, but then I'm sometimes left wondering which was the more up-to-date version. This way it will be like having a single pool of subs that all campaigns have access to.

With sub's I'm thinking that the option will effect all subs in the selected campaign. Or would you prefer being able to mirror just a few select subs?

I'm also planning on enabling mirroring of craft, but that will be per craft. So you can go to a craft in one campaign and select which other campaigns to mirror to. That craft will then appear in the all the selected campaigns and if you change it in one it will be updated in the others.

Hey katateochi,

this is a really nice tool. I totally appreciate the work you put in it, which must have been a lot. Thanks for it.

Notes on minor things:

- i didn't set up my git properly (name & email) so all operations failed, at least git said so. Jebretary didn't mind and thought everything was normal.

- i use ntfs junctions for my personal mods which Jebretary does not recognize apparently. It would be cool if it did. Surprisingly KSP follows junctions even to other drives.

Edit: - failure to recognize "2.5.Heatshield" as available part (shows as missing). From DRE and it's installed as usual in the proper GameData directory.

I think that git will just carry on without name and email data, it just won't label the commits in full. Where did you see the error about all operations failed?

You can set your name and email at any time, and I think its best to give git what it wants (don't want to upset the git!).

ntfs_junctions eh? I wasn't expecting that! But also I don't see why that should be a problem. I used to use them myself a while back, but I've not ever attempted to access them in code before. I shall do some experiments and see if I can find a work around for that.

I'm looking into the heatshield part not being detected now. I think I know why it is happening so I should have a fix for that soon.

This is just what i wanted. nice work! BUT i do get a error i see in the console of liquid before it closes down.

Initialzing....

commiting Auto-Saved SHip.....!!Monitor Error!!

invalid byte sequence in UTF-8

On win7 x64

It pulls 1 craft file from the top most save, and nothing else from any other campaign.

jebretary is installed in c:/games

ife tried running in differnt compatability modes, as admin (setting with property), with and without pants on, and have had no luck.

EDIT:Git version Git-1.9.2-preview20140411

hmmm, that's odd.

Does it always throw the error on the same craft? or does it advance 1 craft each time you run it?

If it's always the same craft could you try running it again, but first move that craft out of your save (and prob best run as non-admin mode with pants on!).

If it can run without that craft present then could you send me a copy of that craft and I'll try to figure out what going on.

Link to comment
Share on other sites

Well, i thought that the commits failed because it said "fatal error" or such. Maybe they in fact did not fail. Idk.

About ntfs junctions: Perhaps it is just a coincidence. I think junctions should be handled all by the OS just like a normal directory. But on the other hand i have seen then various applications not working correctly with them.

Btw. i'm also getting the "invalid byte sequence in UTF-8" on some crafts. After a couple of tries liquid.exe just quits. And the server generates only errors when it should show details of any of my crafts. Perhaps moving/editing/deleting plenty of my crafts by hand while Jebretary was running was not such a good idea ;) I thing i'll have to delete the repositories and reimport everything from scratch.


#<ArgumentError: invalid byte sequence in UTF-8>
E:/Games/Jebretary/src/app/models/part_parser.rb:71:in `match'
E:/Games/Jebretary/src/app/models/part_parser.rb:71:in `match'
E:/Games/Jebretary/src/app/models/part_parser.rb:71:in `block (2 levels) in index_parts'
E:/Games/Jebretary/src/app/models/part_parser.rb:71:in `select'
E:/Games/Jebretary/src/app/models/part_parser.rb:71:in `block in index_parts'
E:/Games/Jebretary/src/app/models/part_parser.rb:51:in `map'
E:/Games/Jebretary/src/app/models/part_parser.rb:51:in `index_parts'
E:/Games/Jebretary/src/app/models/part_parser.rb:15:in `initialize'
E:/Games/Jebretary/src/app/models/instance.rb:52:in `new'
E:/Games/Jebretary/src/app/models/instance.rb:52:in `parts'
E:/Games/Jebretary/src/app/models/craft.rb:137:in `update_part_data'
E:/Games/Jebretary/src/app/controllers/crafts_controller.rb:23:in `block (2 levels) in show'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/responder.rb:230:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/responder.rb:230:in `default_render'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/responder.rb:160:in `to_html'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/responder.rb:153:in `respond'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/responder.rb:146:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/mime_responds.rb:239:in `respond_with'
E:/Games/Jebretary/src/app/controllers/crafts_controller.rb:19:in `show'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:167:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rendering.rb:10:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:414:in `_run__927729881__process_action__163640043__callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:17:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rescue.rb:29:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `block in instrument'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `instrument'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:121:in `process'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/abstract_controller/rendering.rb:45:in `process'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal.rb:203:in `dispatch'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_controller/metal.rb:246:in `block in action'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:36:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:612:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/etag.rb:23:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/conditionalget.rb:25:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/head.rb:14:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/flash.rb:242:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in `context'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/cookies.rb:341:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/query_cache.rb:64:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `_run__1057116873__call__96173123__callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:32:in `call_app'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in `block in call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/tagged_logging.rb:22:in `tagged'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/rack/logger.rb:16:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/request_id.rb:22:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/static.rb:63:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:479:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/application.rb:223:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/content_length.rb:14:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/rack/log_tailer.rb:17:in `call'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/connection.rb:81:in `block in pre_process'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/connection.rb:79:in `catch'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/connection.rb:79:in `pre_process'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/connection.rb:54:in `process'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/connection.rb:39:in `receive_data'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.3-x86-mingw32/lib/eventmachine.rb:187:in `run_machine'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.3-x86-mingw32/lib/eventmachine.rb:187:in `run'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/backends/base.rb:63:in `start'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/thin-1.5.1/lib/thin/server.rb:159:in `start'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/handler/thin.rb:13:in `run'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/server.rb:268:in `start'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
E:/Games/Jebretary/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
E:/Games/Jebretary/src/script/rails:7:in `require'
E:/Games/Jebretary/src/script/rails:7:in `<main>'

Link to comment
Share on other sites

The other thing I want to do is to give you the option to "mirror" your subassemblies across campaigns (and installs). The idea being that you can go into one campaign and select 1 or more other campaigns to mirror. Then whatever changes/additions you make to sub's in either of those campaigns will be propagated to the other selected campaigns. I often find I want my subs from one campaign in another so I copy them over, but then I'm sometimes left wondering which was the more up-to-date version. This way it will be like having a single pool of subs that all campaigns have access to.

With sub's I'm thinking that the option will effect all subs in the selected campaign. Or would you prefer being able to mirror just a few select subs?

I'm also planning on enabling mirroring of craft, but that will be per craft. So you can go to a craft in one campaign and select which other campaigns to mirror to. That craft will then appear in the all the selected campaigns and if you change it in one it will be updated in the others.

I play on a few machines but I currently use syncing software to keep my craft and persistence the same.

I`d like to optionally mirror the whole campaign, all my craft, saves and subs but I can see the value to being able to select just the ones that are mirrored.

If I could select a few installs (across a network) with Jebretary and then all the changes would propagate through that would be amazingly handy.

If there could be a `mirror the entire campaign/install` button that would be cool. Like a raid 1 for KSP...

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...