GithubHelp home page GithubHelp logo

drive's Introduction

drive has moved

This project is under new maintenance because I am now too busy to maintain it. Find the latest and updated code at https://github.com/odeke-em/drive

drive

drive` is a tiny program to pull or push Google Drive files. You need at least go1.2 installed in order to build the program.

License

Copyright 2013 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

drive's People

Contributors

pizzapanther avatar rakyll avatar samtstern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drive's Issues

Potential data loss of Google file formats

Drive is not syncing Google file formats. This can lead to data loss when syncing recursively. Reproduce:

  1. Create a subfolder in drive e.g. /folder1/folder2/folder3
  2. Create a Google Document in /folder1/folder2/folder3 and put a pdf in there
  3. Create a folder /folder1/folder4 in drive
  4. Pull /folder1 recursively to your disk
  5. Move "folder3" to "folder4" on your disk
  6. Push /folder1 to Drive
  7. The Google Document goes to trash

diff command generates panic

I've just updated to the latest version of drive minutes ago and got a panic when trying to use the diff command. I'm using the Go packaged with Ubuntu 14.04.

$ drive diff list2html.py 
panic: not implemented

goroutine 1 [running]:
runtime.panic(0x638860, 0xc21004b800)
        /usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6
github.com/rakyll/drive.(*Commands).Diff(0xc21004f760, 0xc21004f740, 0xc21004f760)
        /home/ubuntu/go/src/github.com/rakyll/drive/diff.go:18 +0x55
main.(*diffCmd).Run(0xa449d8, 0xc21000a020, 0x1, 0x1)
        /home/ubuntu/go/src/github.com/rakyll/drive/cmd/drive/main.go:111 +0xaf
github.com/rakyll/command.Run()
        /home/ubuntu/go/src/github.com/rakyll/command/command.go:155 +0x81
github.com/rakyll/command.ParseAndRun()
        /home/ubuntu/go/src/github.com/rakyll/command/command.go:162 +0x1f
main.main()
        /home/ubuntu/go/src/github.com/rakyll/drive/cmd/drive/main.go:45 +0x83c

Auto creation of directories that do not exist

If a sync (push) is performed on a directory that contains directories that do not exist on google drive, then those directory are not created on drive and none of the files under those directories are synced.

I'm not sure if this is a feature request or bug ....

git push -r moves all the older files of a drive into 'trash'

[agallego][ag:~/gdrive]
$ drive push -h
Usage of drive push:
  -hidden=false: allows syncing of hidden paths
  -no-prompt=false: shows no prompt before applying the push action
  -r=true: performs the push action recursively

The command does not mention moving all existing files to the 'trash' directory in google drive. Thank god my old files were moved to trash instead of permanent deletion.

The result fater this was only the directory that i push'ed -r . The expectred result is the additive effect of the directory I pushed recursively + old files.

Crash when pushing many files

When I try to push a directory with many files in it (in my case 1,025,508) the program crashes.

me@zzz /mnt/media $ drive push -r Pictures/mmc-backup/
Resolving...
fatal error: runtime: cannot map pages in arena address space

goroutine 377178 [running]:
runtime.throw(0x846c934)
/usr/lib/go/src/pkg/runtime/panic.c:520 +0x71 fp=0x5cb16c9c sp=0x5cb16c90
runtime.SysMap(0x0, 0x100000, 0x5cb16c5c, 0x8474938)
/usr/lib/go/src/pkg/runtime/mem_linux.c:159 +0x13a fp=0x5cb16cbc sp=0x5cb16c9c
runtime.MHeap_SysAlloc(0x847d800, 0x100000)
/usr/lib/go/src/pkg/runtime/malloc.goc:616 +0xf7 fp=0x5cb16cec sp=0x5cb16cbc
MHeap_Grow(0x847d800, 0x10)
/usr/lib/go/src/pkg/runtime/mheap.c:319 +0x57 fp=0x5cb16d14 sp=0x5cb16cec
MHeap_AllocLocked(0x847d800, 0x1, 0x1d)
/usr/lib/go/src/pkg/runtime/mheap.c:222 +0x2f4 fp=0x5cb16d34 sp=0x5cb16d14
...

cannot push files directly to a directory on google drive

Hello,

How can I push files from local computer to a specific directory on google drive?
i can push files directly to my root folder on the google drive.

by the way, it is a very good client. it is fast and efficient.

Thank you,
Daniel Friedman
Trixton LTD.

Mobile: 972.50.6655579

Performance issues while pushing

I am experiencing severe performance issues when I try to push my entire drive folder. I have my drive folder stored on an NTFS partition which I have mounted using the following command in fstab: UUID=6874FA4E74FA1E8E /mnt/data ntfs permissions,users,auto,exec 0 0
When I try to push the folder, the entire partition becomes unresponsive. Navigating through folders becomes very slow, opening plain text files with Sublime Text takes several seconds etc.

htop gives me the following information:
screenshot from 2014-12-07 13 26 36

64 bit compilation issue?

Hello

I have linux 64 bit and go1.3.3 linux/amd64
at the command
go get github.com/rakyll/drive/cmd/drive
the reply is always
go build runtime: linux/amd64 must be bootstrapped using make.bash
I couldn't find make.bash anywhere in the source root.

my uname -a:
Linux fangorn 3.17.1 #6 SMP Thu Oct 30 18:39:33 CET 2014 x86_64 Intel(R) Core(TM) i3-4000M CPU @ 2.40GHz GenuineIntel GNU/Linux

thanks.

Paolo

installation issue

this is the error received when i am trying to install drive on firing this command " go get github.com/rakyll/drive "

" /usr/lib/go/src/pkg/github.com/rakyll/drive/types/types.go:42: mtime.Round undefined (type time.Time has no field or method Round) "

any fixture?

Including Client Secret is security risk

I am slightly concerned about the hard-coded client secret included in this repo. I think it would be much better to force users to create their own (although I understand that it is hard-coded for ease of use).

The problem is that this makes it very easy for another application to impersonate this app and gain offline access to a user's account. In the case of Drive files, this can be very sensitive information,

Empty Trash

Hello,

I use drive in a script to automatically encrypt a directory (via gpgdir). I wanted to know if it was possible to add a function to empty the trash.

Thank you for your work.

Please upload arm binaries

Hi there,
It would be nice to run this program on my router to sync my NAS drive to google drive.

Do you think you can create arm binaries so to do that?

Regards,
Vladimir Moushkov

Upload to specific drive directory possible?

Is it possible to push files to a specific folder on drive? I created a folder on drive "myfolder" that I'd like to push files to. I didn't see that anywhere in the docs. thx!

command 'drive' not found

Hi there!

For a reason I can't figure out, the command 'drive' is still not working (command nort found) even after "go get github.com/rakyll/drive" (seems to) have been running succesfully ?

Someone please, can help me with this ? Thanks in advance :)

Push hangs, error on pull

Drive hangs when I try to push a file, using about 100% of one CPU core, and when I run drive pull I get the following output:

Resolving...
runtime/cgo: pthread_create failed: Resource temporarily unavailable
SIGABRT: abort
PC=0xb773ac7c

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0x18982e48)
/usr/lib/go/src/pkg/runtime/sema.goc:199 +0x34
sync.(_WaitGroup).Wait(0x18972f20)
/usr/lib/go/src/pkg/sync/waitgroup.go:127 +0x12a
github.com/rakyll/drive.(_Commands).resolveChangeListRecv(0x1880a470, 0x0, 0x188005e0, 0x1, 0x189adc00, ...)
/home/alanr/gocode/src/github.com/rakyll/drive/changes.go:86 +0x3d6
github.com/rakyll/drive.(_Commands).Pull(0x1880a470, 0x0, 0x0)
/home/alanr/gocode/src/github.com/rakyll/drive/pull.go:45 +0x193
main.(_pullCmd).Run(0x188004e8, 0x1880a010, 0x0, 0x0)
/home/alanr/gocode/src/github.com/rakyll/drive/cmd/drive/main.go:75 +0xb3
github.com/rakyll/command.Run()
/home/alanr/gocode/src/github.com/rakyll/command/command.go:155 +0x70
github.com/rakyll/command.ParseAndRun()
/home/alanr/gocode/src/github.com/rakyll/command/command.go:162 +0x23
main.main()
/home/alanr/gocode/src/github.com/rakyll/drive/cmd/drive/main.go:45 +0x68d

...

I am using a clean install of Lubuntu 14.10.

`force` flag on mv command

When trying to mv a file to a location which already has a copy of the file with the same name, I get a message saying this:
move: /Ebook_Upload/CEN/ANTIGONE by Sophocles 2.epub: /Processed/ANTIGONE by Sophocles 2.epub already exists. Use force flag to override this behaviour

I cannot figure out the syntax for the force flag. From what I can tell, it's not been implemented.
Here's my orig command:
/root/gopath/bin/drive mv "ANTIGONE by Sophocles 2.epub" /usr/gdrive/Processed/

Again, it works fine if it's not trying to overwrite the destination file. I just need to know how to use the force command.

drive pull fails to fetch all files in large folder

I have a directory on my Google Drive called Ebooks. It has ~1500 files in it. When I use 'drive pull Ebooks', I am presented with a list of files it intends to download and when I agree it tells me that it is fetching ~700 files only. After the pull has finished, many of the files which are present on my Google drive are missing from the pull. If I try 'drive pull Ebooks' again, I am told everything is up to date but it is not.

One of the files that is missing is called 'metdata.db'. If I then type 'drive pull Ebooks/metadata.db' it does actually see the file and pull it down for me. But then when I try 'drive pull Ebooks' again, it tells me that it wants to delete metadata.db, because it thinks it doesn't exist on Google Drive.

It seems like drive pull fails to handle folders where there are large numbers of files.

Please contact me if you would like more information.

[feature request] pull to stdout

Currently drive pull downloaded files end up where they should relative to the top level drive directory. It would be really useful if the file could be streamed to stdout as well. Here is how I envision this working:

An additional -O (output specifier) switch would specify the output file location, anywhere on the local file system. In recursive mode this would be a different top level drive directory. This destination could be specified as - and the file would stream to stdout.

That's just one idea, but anything that you come up with/is easiest for saving a file to stdout would be very much appreciated.

It downloads only zip, pdf and images

Create a Google Docs document in My Drive. Call it test. Type in it test.

$ drive pull test
Resolving...
+ /test
Proceed with the changes? [Y/n]: Y
1 / 1    [================================================================================] 100.00 % 
$ ll test
ls: cannot access test: No such file or directory

The same happens to Google Sheets and Google Slides files.
However drive pull recursively lists and downloads any zip, pdf, png, jpg file I have in my drive.

$ go version
go version go1.3.3 linux/amd64

Push of directory changes file modification times

I am pushing a directory to my Google Drive account and files in uploaded directories and subdirectories all have their times (modification, access and change) set to the time drive has uploaded them. Those not uploaded remain unaltered.

cannot resolve symbolic paths

I've set up symbolic links so that I can easily cd into directories nested deep in my Google Drive. However, running drive tells me no drive context found, because it traverses up my symbolic path and cannot find my drive init'd root directory.

At the moment, I'm getting around this with the following in my .bashrc:

function dr() {(
    cd -P .
    drive "$@"
)}

But it's kind of hacky. Would appreciate a better solution implemented within drive!

init command generates panic

With the latest version of drive (download 2014/11/12), the init command generated the following error:

./drive init
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x13 pc=0x4545f7]

goroutine 16 [running]:
runtime.panic(0x737260, 0x946113)
/usr/lib64/go/src/pkg/runtime/panic.c:279 +0xf5
github.com/rakyll/drive.New(0xc20801a8c0, 0x0, 0x0)
/home/bob/go/src/github.com/rakyll/drive/commands.go:49 +0x47
main.(*initCmd).Run(0x94b590, 0xc20800e020, 0x0, 0x0)
/home/bob/go/src/github.com/rakyll/drive/cmd/drive/main.go:55 +0x52
github.com/rakyll/command.Run()
/home/bob/go/src/github.com/rakyll/command/command.go:155 +0xa1
github.com/rakyll/command.ParseAndRun()
/home/bob/go/src/github.com/rakyll/command/command.go:162 +0x1f
main.main()
/home/bob/go/src/github.com/rakyll/drive/cmd/drive/main.go:45 +0x8b2

goroutine 17 [runnable]:
runtime.MHeap_Scavenger()
/usr/lib64/go/src/pkg/runtime/mheap.c:507
runtime.goexit()
/usr/lib64/go/src/pkg/runtime/proc.c:1445

goroutine 18 [runnable]:
bgsweep()
/usr/lib64/go/src/pkg/runtime/mgc0.c:1976
runtime.goexit()
/usr/lib64/go/src/pkg/runtime/proc.c:1445

goroutine 19 [runnable]:
runfinq()
/usr/lib64/go/src/pkg/runtime/mgc0.c:2606
runtime.goexit()
/usr/lib64/go/src/pkg/runtime/proc.c:1445

I'm using go 1.3.3 on opensuse 12.3 from "The Go Programming Language (openSUSE_12.3)" repository (http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_12.3/).
The build and compile appeared to go without any problems.

Drive Push command repeats files when recursive

I am using drive to push a folder tree recursively to backup files. However each run will detect some already pushed files as requiring upload again, sometimes hundreds of files are involved.

For example on Linux Mint 17 64 bit using drive from both April 2014 and today and this script...

!/bin/sh -x

exec > ~/edev/drive/Gdrive.log
exec 2>&1

date
drive push -r -no-prompt ~/gd/test1
echo "N" | drive push -r ~/gd/test1
date
exit

The log file contains...

  • date
    Sun Nov 16 12:30:35 AEST 2014
  • drive push -r -no-prompt /home/zzzz/gd/test1
    Resolving...
    �[32m+�[0m /gd/test1
    �[32m+�[0m /gd/test1/IDCJCM0036_040282.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200701.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200702.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200703.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200704.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200705.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200706.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200707.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200708.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200709.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200710.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200711.csv
    �[32m+�[0m /gd/test1/IDCJDW4081.200712.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200701.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200702.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200703.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200704.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200705.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200706.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200707.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200708.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200709.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200710.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200711.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200712.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200801.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200802.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200803.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200804.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200805.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200806.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200807.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200808.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200809.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200810.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200811.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200812.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200901.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200902.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200903.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200904.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200905.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200906.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200907.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200908.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200909.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200910.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200911.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.200912.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201201.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201202.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201203.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201204.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201205.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201206.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201207.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201208.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201209.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201210.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201211.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201212.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201301.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201302.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201303.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201304.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201305.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201306.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201307.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201308.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201309.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201310.csv
    �[32m+�[0m /gd/test1/IDCJDW4091.201312.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200701.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200702.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200703.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200704.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200705.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200706.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200707.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200708.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200709.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200710.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200711.csv
    �[32m+�[0m /gd/test1/IDCJDW4118.200712.csv
    0 / 85 [---------------------------------------------------------------] 0.00 %
    1 / 85 [>---------------------------------------------------------] 1.18 % 2m31s
    2 / 85 [=>---------------------------------------------------------] 2.35 % 3m2s
    3 / 85 [==>-------------------------------------------------------] 3.53 % 4m17s
    4 / 85 [==>--------------------------------------------------------] 4.71 % 4m3s
    5 / 85 [===>------------------------------------------------------] 5.88 % 3m50s
    6 / 85 [====>-----------------------------------------------------] 7.06 % 3m41s
    7 / 85 [====>-----------------------------------------------------] 8.24 % 3m47s
    8 / 85 [=====>----------------------------------------------------] 9.41 % 3m41s
    9 / 85 [======>--------------------------------------------------] 10.59 % 3m32s
    10 / 85 [======>-------------------------------------------------] 11.76 % 3m40s
    11 / 85 [=======>------------------------------------------------] 12.94 % 3m34s
    12 / 85 [=======>------------------------------------------------] 14.12 % 3m30s
    13 / 85 [========>-----------------------------------------------] 15.29 % 3m27s
    14 / 85 [=========>----------------------------------------------] 16.47 % 3m24s
    15 / 85 [==========>----------------------------------------------] 17.65 % 4m5s
    16 / 85 [==========>---------------------------------------------] 18.82 % 3m59s

[snip boring lines]

83 / 85 [=========================================================>-] 97.65 % 5s
84 / 85 [===========================================================] 98.82 % 2s
85 / 85 [=======================================================] 100.00 % 4m11s

  • echo N
  • drive push -r /home/zzzz/gd/test1
    Resolving...
    �[33mM�[0m /gd/test1/IDCJDW4091.200701.csv
    Proceed with the changes? [Y/n]: + date
    Sun Nov 16 12:34:56 AEST 2014
  • exit

The first run of drive correctly uploads the list of files but a second run immediately afterward wants to repeat one of the files, on some occasions hundreds of files from the directory tree.

Regards C Bumkin

Specifying remote directories?

I'd like to be able to use drive to push a network directory to Google Drive.

Is there a way to push, say, a directory mounted on /Volumes/archives to Storage/Archives on my Google Drive?

Thank you.

Unable to build or run

Running on Mac OSX 10.10 and installed GO version 1.3.3. I am completely new to GO so there could be some PEBKAC issues here... I executed

go install github.com/rakyll/drive

from a shell prompt but did not get an executable. I have tried executing

go install github.com/rakyll/drive

which returns immediately without creating a drive executable in $GOBIN. I created a simple hello.go file and did 'go install hello.go' and was then able to execute hello without any problems.

Any suggestions on what obvious mistake I have made?

--Ron

"fatal error: fault" when attempting to install

The following error occurs when attempting to "go get" repository

unexpected fault address 0x7f9d00000011
fatal error: fault
[signal 0xb code=0x1 addr=0x7f9d00000011]

goroutine 9 [running]:

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

    :0

goroutine 1 [select]:
main.httpGET
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/http.go:29
main.googleCodeVCS
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/vcs.go:648
main.repoRootForImportPathStatic
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/vcs.go:425
main.repoRootForImportPath
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/vcs.go:360
main.downloadPackage
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/get.go:269
main.download
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/get.go:166
main.download
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/get.go:232
main.runGet
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/get.go:72
main.main
    /build/buildd/gccgo-go-1.2.1/src/cmd/go/main.go:161

goroutine 3 [syscall]:
    goroutine in C code; stack unavailable

goroutine 8 [finalizer wait]:

Nested directories starting with "." are ignored

mkdir .test
cd .test
touch test.txt
mkdir .testing
cd .testing
touch .testing.txt
cd ../../

drive push -r .test
Resolving...

  • /.test
  • /.test/test.txt

Note that the .testing directory, and any files in it, don't resolve.

File names with '/' are split into directories when pulled

This is true for Linux:

If we have a Google Drive file called https://a/b/c/boardingpass.pdf when we pull we get a directory called https:, then a directory called a, then b, etc. till we get a boardingpass.pdf file, and not a file called https://a/b/c/boardingpass.pdf.

It might seem like an obscure issue, but Google's own "save to drive" and all the extensions that save to drive might create such a file name.

Use "less" as pager instead of "more"

"more" sucks compared to "less". Haven't even used more since 199x until this program presented me with it. more is so old it doesn't even work with modern terminals (using urxvt + tmux here).

[Feature Request] Show more session details of push/pulls

Would be nice to show, before the 'Proceed with changes', some overall details of the changes before committing:

  1. Overall how many files are + and -
  2. Number of files to be changed, shown by 1st level dirs under the 'root' dir
  3. After user commits to proceeding, add push/pull kB or MB rate and total file size on the same line as:
112 / 1614 [======>----------------------------------------------------------------------------------------] 6.94 % 19h43m9s

types.go error on install

when running "go get github.com/rakyll/drive" on debian 7/6 wheezy with the most recent "golang" package from apt-get I get the following error:

../lib/go/src/pkg/github.com/rakyll/drive/types/types.go:42: mtime.Round undefined (type time.Time has no field or method Round)

Reuploads files that were uploaded with another tool

I've been looking for a good way to upload my large image collection to google drive. A couple months ago I uploaded many gb worth of images, first by dragging folders into the drive ui in the browser, then with skicka. I like this tool better though. Unforunately when I ask it to push my whole pictures directory it now wants to re-upload all the same pictures.

If I ask it to upload a single picture, it claims the file is already there and nothing needs to be done. If I ask it to upload the containing folder it thinks every file has changed, including the one that I tried individually. If I let it upload them it creates a second file with the same name next to the ones that are already there. The only difference should be the upload time, but otherwise would be the same, byte for byte.

What happened to google drive?How to solve this problem

When downloading https://drive.google.com/file/d/1a2oHjcEcwXP8oUF95qiwrqzACb2YlUhn/view,I met this problem.
抱歉,您目前无法查看或下载此文件。

最近查看或下载此文件的用户过多。请稍后再尝试访问此文件。如果您尝试访问的文件特别大或由很多人一起共享,则可能需要长达 24 小时才能查看或下载该文件。如果 24 小时后您仍然无法访问文件,请与您的域管理员联系。

OAuth error on authentication

When I try to drive init, I get a

OAuthError: updateToken: Unexpected HTTP status 400 Bad Request

I am running Debian Testing and my google account uses 2-factor Auth. None of which should make a difference though?

High risk of data loss on collaboration

Do NOT use this application when you're working with classmates on a project. The risk of losing data in files is way too damn high. Here's why:

The merging mechanism isn't just stupid, it's nonexistent. Have this situation:

a/
   b.txt
   c.txt

Have one example. It's the absolute worst one:

  1. Edit b.txt
  2. Drive pull a
  3. b.txt will show an "M", stating it's modified. If you proceed with pulling, b.txt will be overwritten with an older file.

Why would you want to pull the folder? Well, your teammates might have edit c.txt, or maybe they have even edited b.txt. When you see that b.txt was modified, you're led to believe that your teammates modified it. The fact is that it could mean that, but it's probably because you edited b.txt yourself. There is no way to tell.

In a project I handed in today I was very careful to push and pull per file. Luckily no one else edited files at the same time I did, that would have put me in deep trouble. That or maybe that did happen, drive wouldn't have told me so there would be no way for me to find out unless they actually told me. Despite the per file push/pulling I still lost data, most likely because I pulled the folder thinking I had pushed my per file changes.

Files just get overwritten. Both on push and on pull. No merging, no conflict mechanism, no warnings that you're overwriting unsaved changes (or haven't merged with the latest version yet) and a downright misleading status message. This tool is not safe for projects in which people cooperate.

progress bar not progressing

I've pulled one ~800MB video file. The pull worked fine except the progress bar showed 0% for a few minutes until the pull was complete when it showed 100%.

Quota exceeded errors are ignored

Pushing a big file using 'drive push' seemed to work. 100% transfer completed, no errors returned.
However, the file was not stored, because it would happily transfer it again after another 'drive push'.
Uploading the same file using the google drive web interface revealed the issue: 'quota exceeded'.
'drive' should handle these errors instead of ignoring them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.