2015-10-09 12:31:19 +03:00
|
|
|
# Grive2 0.4.2-dev
|
2015-05-17 22:09:42 +03:00
|
|
|
|
2015-10-09 12:31:19 +03:00
|
|
|
10 Oct 2015, Vitaliy Filippov
|
2015-05-17 22:09:42 +03:00
|
|
|
|
|
|
|
http://yourcmc.ru/wiki/Grive2
|
|
|
|
|
|
|
|
This is the fork of original "Grive" (https://github.com/Grive/grive) Google Drive client
|
|
|
|
with the support for the new Drive REST API and partial sync.
|
|
|
|
|
|
|
|
Grive can be considered still beta or pre-beta quality. It simply downloads all the files in your
|
|
|
|
Google Drive into the current directory. After you make some changes to the local files, run
|
|
|
|
grive again and it will upload your changes back to your Google Drive. New files created locally
|
|
|
|
or in Google Drive will be uploaded or downloaded respectively. Deleted files will also be "removed".
|
|
|
|
Currently Grive will NOT destroy any of your files: it will only move the files to a
|
|
|
|
directory named .trash or put them in the Google Drive trash. You can always recover them.
|
|
|
|
|
|
|
|
There are a few things that Grive does not do at the moment:
|
|
|
|
- continously wait for changes in file system or in Google Drive to occur and upload.
|
|
|
|
A sync is only performed when you run Grive, and it calculates checksums for all files every time.
|
|
|
|
- symbolic links support.
|
|
|
|
- support for Google documents.
|
|
|
|
|
|
|
|
These may be added in the future, possibly the next release.
|
|
|
|
|
|
|
|
You need the following libraries:
|
|
|
|
|
2015-10-11 18:59:25 +03:00
|
|
|
- yajl 2.x
|
2015-05-17 22:09:42 +03:00
|
|
|
- libcurl
|
|
|
|
- libstdc++
|
|
|
|
- libgcrypt
|
2015-10-09 12:31:19 +03:00
|
|
|
- Boost (Boost filesystem, program_options, regex, unit_test_framework and system are required)
|
2015-08-30 22:48:30 +03:00
|
|
|
- expat
|
2015-05-17 22:09:42 +03:00
|
|
|
|
|
|
|
There are also some optional dependencies:
|
|
|
|
- CppUnit (for unit tests)
|
|
|
|
- libbfd (for backtrace)
|
2015-05-20 02:10:04 +03:00
|
|
|
- binutils (for libiberty, required for compilation in OpenSUSE, Ubuntu, Arch and etc)
|
2015-05-17 22:09:42 +03:00
|
|
|
|
2015-11-11 12:31:36 +03:00
|
|
|
On a Debian/Ubuntu/Linux Mint machine just run the following command to install all
|
|
|
|
these packages:
|
|
|
|
|
|
|
|
sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev \
|
|
|
|
libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev
|
|
|
|
|
|
|
|
FreeBSD:
|
|
|
|
|
|
|
|
pkg install git cmake boost-libs yajl libgcrypt pkgconf cppunit libbfd
|
|
|
|
|
2015-05-17 22:09:42 +03:00
|
|
|
Grive uses cmake to build. Basic install sequence is
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make -j4
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
For the detailed instructions, see http://yourcmc.ru/wiki/Grive2#Installation
|
|
|
|
|
|
|
|
When Grive is run for the first time, you should use the "-a" argument to grant
|
|
|
|
permission to Grive to access to your Google Drive. A URL should be printed.
|
|
|
|
Go to the link. You will need to login to your Google account if you haven't
|
|
|
|
done so. After granting the permission to Grive, the browser will show you
|
|
|
|
an authenication code. Copy-and-paste that to the standard input of Grive.
|
|
|
|
|
|
|
|
If everything works fine, Grive will create .grive and .grive_state files in your
|
|
|
|
current directory. It will also start downloading files from your Google Drive to
|
|
|
|
your current directory.
|
|
|
|
|
|
|
|
Enjoy!
|
|
|
|
|
|
|
|
## Version History
|
|
|
|
|
2015-09-25 13:06:40 +03:00
|
|
|
### Grive2 v0.4.2 (unreleased)
|
|
|
|
|
2015-10-09 12:31:19 +03:00
|
|
|
- Option to exclude files by perl regexp
|
|
|
|
- Reimplemented HTTP response logging for debug purposes
|
|
|
|
- Use multipart uploads (update metadata and contents at the same time) for improved perfomance & stability
|
|
|
|
- Bug fixes
|
2015-11-10 12:58:55 +03:00
|
|
|
- Simple option to move/rename files and directories, via `grive -m oldpath newpath` (by Dylan Wulf, wulfd1@tcnj.edu)
|
2015-09-25 13:06:40 +03:00
|
|
|
|
|
|
|
### Grive2 v0.4.1
|
|
|
|
|
|
|
|
- Bug fixes
|
|
|
|
|
|
|
|
### Grive2 v0.4.0
|
2015-05-17 22:09:42 +03:00
|
|
|
|
|
|
|
First fork release, by Vitaliy Filippov / vitalif at mail*ru
|
|
|
|
- Support for the new Google Drive REST API (old "Document List" API is shut down by Google 20 April 2015)
|
|
|
|
- REAL support for partial sync: syncs only one subdirectory with `grive -d subdir`
|
|
|
|
- Major refactoring - a lot of dead code removed, JSON-C is not used anymore, API-specific code is split from non-API-specific
|
|
|
|
- Some stability fixes from Visa Putkinen https://github.com/visap/grive/commits/visa
|
|
|
|
- Slightly reduce number of syscalls when reading local files.
|
|
|
|
|
|
|
|
### Grive v0.3
|
|
|
|
|
|
|
|
Bug fix & minor feature release. Fixed bugs:
|
|
|
|
- #93: missing reference count increment in one of the Json constructors
|
|
|
|
- #82: retry for HTTP error 500 & 503
|
|
|
|
- #77: Fixed a bug where grive crashed on the first run.
|
|
|
|
|
|
|
|
New features:
|
|
|
|
- #87: support for revisions
|
|
|
|
- #86: ~~partial sync (contributed by justin at tierramedia.com)~~ that's not partial sync,
|
|
|
|
that's only support for specifying local path on command line
|