pusher / atom-pair

An Atom package that allows for epic pair programming
MIT License
1.45k stars 28 forks source link

Share Directory #67

Closed CaiusTSM closed 7 years ago

CaiusTSM commented 9 years ago

Would it be possible to have a share current open directory command (each file in the directory)?

jpatel531 commented 9 years ago

Hi there! How do you mean? You mean a hotkey for starting a new pairing session, or something else?

Currently any new file opened within the window will be synced across, although I'm soon to release changes where all files currently opened will be synced across.

Although are you referring to something different?

fnky commented 9 years ago

I think he means the current project. For example when you open a directory in Atom, you should be able to start a pairing session and sync all files over.

Of course, a huge drawback to this would be

This could be prevented with an ignore file, e.g. .apignore with the same format as .gitignore. Which would require the collaborator to install any dependencies locally, without having to sync those dependencies over the wire.

CaiusTSM commented 9 years ago

fnky was spot on by what I meant. Right now it syncs all tabs opened, but it would be nice if you could sync every non-ignored file/folder with just one command / menu option (without having to open the file in a new tab).

jpatel531 commented 9 years ago

Ahh I see - so by 'synced' do you mean the other person will have them open as soon as they join the session? Or they'll be able to save the files to disk?

fnky commented 9 years ago

By synced it will sync the open project folder—this could be an option to share either a single file or the whole workspace with all files open in sidebar.

I wonder how it would be able to sync on disk. If the session stopped—either by disconnect or lost connection—they files would be different (if either user changed them) that would mean the one sharing the session would only share his changes, and not keep the changes by the collaborator.

This could be avoided by uploading the files in the cloud, and sync the files from there—like Cloud9. I don't know wether Pusher would be able to handle that.

Also if the files are under version control, you would have two of the same commit histories on both the collaborators and your disk, which could conflict.

sancarn commented 7 years ago

@fnky atom-pair already overcomes this issue with connection so I'm not sure that would be a big deal. The only issue I saw was an error: ' Uncaught TypeError: Cannot read property 'getTitle' of null C:\Users\sancarn.atom\packages\atom-pair\lib\modules\session.coffee:151'. However this was only when a user opened a file, disconnected, changed a file, closed the file, reconnected.

The changes were still made though. I'm sure there is a way around the issue.

sancarn commented 7 years ago

Hi @kn100, I assume you are closing the issue because it is now implemented? If so, could you indicate how you share the current project (I do not see it in the readme)?