git-annex/doc/tips/googledriveannex/comment_4_239091adaea6ae39fa9a4d9719667a98._comment
Joey Hess e213ef310f git-annex (5.20140717) unstable; urgency=high
* Fix minor FD leak in journal code. Closes: #754608
  * direct: Fix handling of case where a work tree subdirectory cannot
    be written to due to permissions.
  * migrate: Avoid re-checksumming when migrating from hashE to hash backend.
  * uninit: Avoid failing final removal in some direct mode repositories
    due to file modes.
  * S3: Deal with AWS ACL configurations that do not allow creating or
    checking the location of a bucket, but only reading and writing content to
    it.
  * resolvemerge: New plumbing command that runs the automatic merge conflict
    resolver.
  * Deal with change in git 2.0 that made indirect mode merge conflict
    resolution leave behind old files.
  * sync: Fix git sync with local git remotes even when they don't have an
    annex.uuid set. (The assistant already did so.)
  * Set gcrypt-publish-participants when setting up a gcrypt repository,
    to avoid unncessary passphrase prompts.
    This is a security/usability tradeoff. To avoid exposing the gpg key
    ids who can decrypt the repository, users can unset
    gcrypt-publish-participants.
  * Install nautilus hooks even when ~/.local/share/nautilus/ does not yet
    exist, since it is not automatically created for Gnome 3 users.
  * Windows: Move .vbs files out of git\bin, to avoid that being in the
    PATH, which caused some weird breakage. (Thanks, divB)
  * Windows: Fix locking issue that prevented the webapp starting
    (since 5.20140707).

# imported from the archive
2014-07-17 11:27:25 -04:00

41 lines
2.3 KiB
Text

[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawmp1ThsNNAbSn46ju-gwFELfStlhl8usJo"
nickname="donkeyicydragon"
subject="Googledrive annex on second repository"
date="2014-04-19T20:45:23Z"
content="""
Hi Johnny,
I wrote a patch for googledriveannex that fixed this problem for me. First you add the google drive special remote in repo1 then you clone repo1 into repo2. In repo2 you do \"git annex enableremote googldrivespecialremotename\" and it should work.
The problem was that the init method, that is called by git annex when a special remote is first created but also when it is enabled somewhere else, did not factor in the possibility that it had already been created.
I will simultaneously submit the patch to the author of the special remote plugin but here it is for you to quickly get going:
diff --git a/git-annex-remote-googledrive b/git-annex-remote-googledrive
index 49cd917..c8e70f3 100755
--- a/git-annex-remote-googledrive
+++ b/git-annex-remote-googledrive
@@ -330,13 +330,16 @@ def initremote(line):
oauth = os.getenv(\"OAUTH\") or \"\"
encryption = common.getConfig(\"encryption\")
myfolder = common.getConfig(\"folder\")
- stored_creds = sys.modules[\"__main__\"].login({\"oauth\": oauth})
- if len(myfolder) and stored_creds:
- common.sprint('SETCONFIG myfolder ' + myfolder + '')
- common.sprint('SETCONFIG stored_creds ' + json.dumps(stored_creds) + '')
- common.sprint('INITREMOTE-SUCCESS')
+ if not common.getConfig(\"stored_creds\"):
+ stored_creds = sys.modules[\"__main__\"].login({\"oauth\": oauth})
+ if len(myfolder) and stored_creds:
+ common.sprint('SETCONFIG myfolder ' + myfolder + '')
+ common.sprint('SETCONFIG stored_creds ' + json.dumps(stored_creds) + '')
+ common.sprint('INITREMOTE-SUCCESS')
+ else:
+ common.sprint('INITREMOTE-FAILURE You need to set OAUTH environment variables and folder and encryption parameters when running initremote.')
else:
- common.sprint('INITREMOTE-FAILURE You need to set OAUTH environment variables and folder and encryption parameters when running initremote.')
+ common.sprint('INITREMOTE-SUCCESS')
common.log(\"Done\")
def prepare(line):
--
"""]]