Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start a new session with Git #214

Closed
chrismotian opened this issue Aug 27, 2018 · 2 comments
Closed

Start a new session with Git #214

chrismotian opened this issue Aug 27, 2018 · 2 comments

Comments

@chrismotian
Copy link

I need your opinion on this possible options (A, B, C or D) described in the Use-Case below.
Which one is the most common/worth to support?
Are Projects with the risky layout common?
riskylayout

Use-Case "start a new session with Git"

System under discussion: IDE with Saros Plugin

First Actor: Alice (Host)
Second Actor: Bob (Client)

Goal: Alice and Bob are in a shared session, the same files on each side, both are at the same branch and commit

Requirements: Alice and Bob using an IDE and are connected to Saros, Alice has an open project which uses Git, Alice's HEAD checkout at master, Bob haven't worked on this project before

Steps:

A1. Alice pushes the repo to a shared repository and Bob clone from this repository.
A2. Alice click on "share with Bob"
A3. Bob select "Existing Project"
A4 safe layout. All goals reached
A4 risky layout. Saros warn that it will delete the .git files on the non-host-side and after accepting the session will be abandoned. After a second try of connecting all goals reached but just (partial share). After stopping the session and trying a new session eclipse will stop working.

B1. Bob clone from Alice repository directly via the IDE.
B2-B4. is the same as in A.

C1. Alice sends every file via Saros ( Alice click on "share with Bob").
C2. Bob select "New Project"
C3 safe layout. Alice and Bob are in a shared session, same files on each side but .git Folder isn't sent through Saros. Bob isn't using Git.
C3 risky layout. Alice and Bob are in a shared session, same files on each side and even if the .git Folder is sent through Saros, Bob's IDE didn't use Git

D1. Bob clone from a local repository which is a Proxy for Alice's repository. The proxy is sent via Saros.
D2 safe layout. Not possible because .git folder isn't sent via Saros
D2 risky layout. Same as A2, A3 and then A4 risky layout.

@donut87
Copy link
Contributor

donut87 commented Aug 27, 2018

Scenario A: I don't see why Alice has to push first. Also, this includes manual steps. Cloning a repository should be easy when sending the URL on session start.
Scenario B: Possible Scenario. Bandwidth and ssh or http(s) ports are an issue here. Alice must make sure the repo on the machine is reachable from outside.
Scenario C: Bob hasn't cloned the repo. Kind of not the idea...
Scenario D:

The proxy is sent via Saros

What do you want to do? Send the .git folder as zip? Please don't...

Alice should send a URL to an accessible Repo (github, gitlab, orginization internal git, etc.), Bob clones this repo, Alice sends branch name, bob switches and then the local changes are transported. If Alice has not pushed commits, you will have to think of a way to transport these. Then of course the usual limits (ports and stuff) apply.

@chrismotian
Copy link
Author

Thanks again for your opinion.

I was thinking about sending the .git folder and haven't found a contra. Why don't sending it?

"Alice should send a URL to an accessible Repo (github, gitlab, orginization internal git, etc.), Bob clones this repo, Alice sends branch name, bob switches and then the local changes are transported. If Alice has not pushed commits, you will have to think of a way to transport these. ". To solve the transport these the smartest way would be to the solution with temporary branches mentioned in #213.

I will close this issue. Please answer in #213

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants