Why is grive referring to the location where it was compiled? #62

Closed
pankajmore opened this Issue Jun 14, 2012 · 3 comments

Comments

Projects
None yet
2 participants

This happens if I include a symlink to a folder in the grive's sync directory.
Note: /tmp/pacaurtmp-pankajm/grive-git/ is the folder where grive was compiled
and ./prog/ is the symlink in the current grive directory which is at ~/gdrive.

The debug output :

last sync time: 2012-06-07T06:07:38.667Z
Reading local directories
exception: /tmp/pacaurtmp-pankajm/grive-git/src/grive/libgrive/src/util/OS.cc(57): Throw in function gr::DateTime gr::os::FileCTime(const string&)
Dynamic exception type: boost::exception_detail::clone_implgr::os::Error
std::exception::what: std::exception
[gr::expt::BacktraceTag*] = #0 0x7ffd167da4f9 /usr/lib/libgrive.so.0 gr::Exception::Exception()
#1 0x7ffd167d9985 /usr/lib/libgrive.so.0 gr::os::Error::Error()
#2 0x7ffd167d951f /usr/lib/libgrive.so.0 gr::os::FileCTime(std::string const&)
#3 0x7ffd167d9599 /usr/lib/libgrive.so.0 gr::os::FileCTime(boost::filesystem3::path const&)
#4 0x7ffd167b8303 /usr/lib/libgrive.so.0 gr::Resource::FromLocal(gr::DateTime const&)
#5 0x7ffd167a6ef8 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#6 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#7 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#8 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#9 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#10 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#11 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#12 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#13 0x7ffd167ca70b /usr/lib/libgrive.so.0 gr::Drive::Drive(gr::OAuth2&, gr::Json const&)
#14 0x40f6fc grive Main(int, char**)
#15 0x40eb5a grive main
#16 0x7ffd15a31455 /lib/libc.so.6 __libc_start_main
#17 0x40ed69 grive

[boost::errinfo_errno__] = 2, "No such file or directory"
[boost::errinfo_file_name__] = ./prog/threepress-read-only/bookworm/library/django/contrib/admin/media
[boost::errinfo_api_function_*] = stat

Owner

nestal commented Jun 14, 2012

Grive works on the current directory it was run.

Symbolic links currently doesn't work well with grive right now. If I can't fix it before v0.1.2, I will make grive ignore symbolic links for now.

In your case, I suggest you run grive in the ~/gdrive directory.

Thanks for the reply , it would be awesome to have support for symbolic links! I am not very familiar with the code , can you give me some pointers as to where should I look if I want to add this feature?

Owner

nestal commented Jun 15, 2012

The core of grive code about sync'ing files is in libgrive/src/drive/State.cc and Resource.cc.

Enjoy!

nestal closed this in 62e2611 Feb 26, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment