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

Feature: Supporting other OSs #11

Closed
advdv opened this issue May 16, 2015 · 17 comments
Closed

Feature: Supporting other OSs #11

advdv opened this issue May 16, 2015 · 17 comments

Comments

@advdv
Copy link
Contributor

advdv commented May 16, 2015

File monitoring is implemented differently across platforms. The current implementation uses FSEvents (OSX), let me know what other platforms you would like to see implemented

@corn13read
Copy link

Of course linux, great project!

@ryneeverett
Copy link

Seems like you'd be best off using a file system events library with adapters for all the OS's. It doesn't look like any of the Go libraries are complete, but fsnotify looks like it would cover just about everything other than OSX.

@advdv
Copy link
Contributor Author

advdv commented May 19, 2015

Thanks for the feedback, I'll be working on a linux implementation the coming month. Your suggestion for using fsnotify confirms my findings as well, under the hood I did a small spike already: https://github.com/timeglass/glass/blob/master/daemon/watching/monitor_fsnotify.go I just have to test it to confirm it works as expected.

@ryneeverett
Copy link

Sweet. I'd like to try it out, but that led to a couple more feedback points / feature requests:

  • Automated Tests: Doesn't look like there are any yet. Supporting multiple OS's, VCS's etc is going to be a pain if you have to test the feature matrix manually.
  • Build from Source Instructions: I'm assuming the release zipfile doesn't include the fsnotify stuff and I'm not a Go dev so I don't know how to install from source.

@ciryon
Copy link

ciryon commented May 19, 2015

Windows 10! :-)

@mihai-vlc
Copy link

+1 for windows support

@rey0bs
Copy link

rey0bs commented May 20, 2015

+1 for Linux support, very useful !

@advdv
Copy link
Contributor Author

advdv commented May 22, 2015

Thanks for the input guys, the +1s are helpful in finding focus for the next release - polls without polls, great! :), I created a separate issues for the test&contribution improvements: #19

@advdv advdv added this to the 0.5.2 milestone Jun 5, 2015
@advdv
Copy link
Contributor Author

advdv commented Jun 5, 2015

Just letting you know that the next release will focus on getting support for both windows and linux. File watching is the most obvious barrier (@see this repo, others probably include permission problems

@advdv advdv closed this as completed Jun 5, 2015
@advdv advdv reopened this Jun 5, 2015
@advdv
Copy link
Contributor Author

advdv commented Jun 9, 2015

@Saimount @ionutvmi @corn13read @ciryon
Last week I managed to complete both Linux and Windows support! A pre release with pre-build binaries for both platforms can be found here. I would we super grateful if you could check it out and report your experience.

@themotu
Copy link

themotu commented Jun 9, 2015

Awesome! I'll give it a shot in linux

@mihai-vlc
Copy link

on windows the files need to have the .exe extension
why do I need to have an origin remote ?

Timeglass: hooks written
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
2015/06/14 22:10:01 [Timeglass Error]: Failed to pull time data: Failed to fetch from remote 'origin' using git command [fetch origin refs/notes/time-spent:refs/notes/time-spent]: exit status 128

Why does the glass daemon need access from the firewall ? (sorry didn't get the chance to look into the code)
I did notice it only shows only the elapsed minutes. The seconds are always 0.

Other then that it seems to work ok.
The time information is appended at the end of the commit.

UPDATE: my tests were done on win 7 x64

@ciryon
Copy link

ciryon commented Jun 15, 2015

Thanks a lot for this, very appreciated! :-) I've done some limited testing on Windows 10 Pro Insider Preview (build 10130) and for me it seems to work great. All I had to do was to rename the binaries so they have .exe extensions. I'm using Cmder as my shell.

@rey0bs
Copy link

rey0bs commented Jun 16, 2015

Hi,It works well on linux. Thanks for this tool ;)
(Tested on Xubuntu 14.04 x64)

@advdv
Copy link
Contributor Author

advdv commented Jun 17, 2015

@ionutvmi , thanks for trying it out! When running init it will attempt to retrieve time data from the default remote: timing data is stored in a separate "notes" branch and has to be retrieved explicitly. Additionally, whenever a timer is started it will do a version check to if you're running the latest, this is of course to speed up version rollouts. The latter probably triggered the firewall alert?

Does this seems fair? Could the experience be improved on windows?

@mihai-vlc
Copy link

I think I should be able to use it on a local git repo (without the need for a remote to be present).
It's functional but I get that nasty error message.
You could just display a log message like: Checking remote... not found instead of that error message.

The version check is ok with me, the warning only shows only once anyway.

@advdv
Copy link
Contributor Author

advdv commented Jun 17, 2015

Ah, I understand the problem now, thanks for reporting. I created a separate issue over here. I'll close this issue as cross platform support seemed to be working.

@advdv advdv closed this as completed Jun 17, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants