Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
6d48a69788
10 changed files with 192 additions and 1 deletions
|
@ -0,0 +1,47 @@
|
||||||
|
### Please describe the problem.
|
||||||
|
Attempted to create a bup remote on the current system via ssh. It appears to have created the bup remote fine, but fails when sshing to it and does not add the remote.
|
||||||
|
This is a normal indirect annex (currently containing a single test jpg in its root)
|
||||||
|
I'm presuming the error is "(storing uuid...) sh: 1: cd: can't cd to /~/archie"
|
||||||
|
|
||||||
|
|
||||||
|
### What steps will reproduce the problem?
|
||||||
|
git annex initremote bup type=bup encryption=none buprepo=sshservername:path
|
||||||
|
|
||||||
|
I've tried using .ssh/config to remove the username from the servername passed to bup repo and it still fails.
|
||||||
|
|
||||||
|
### What version of git-annex are you using? On what operating system?
|
||||||
|
[[!format sh """
|
||||||
|
>git-annex version
|
||||||
|
git-annex version: 4.20130615-g29d5bb9
|
||||||
|
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS
|
||||||
|
local repository version: 3
|
||||||
|
default repository version: 3
|
||||||
|
supported repository versions: 3 4
|
||||||
|
upgrade supported from repository versions: 0 1 2
|
||||||
|
"""]]
|
||||||
|
debian wheezy i686
|
||||||
|
|
||||||
|
### Please provide any additional information below.
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
# If you can, paste a complete transcript of the problem occurring here.
|
||||||
|
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
|
||||||
|
|
||||||
|
> git annex initremote bup type=bup encryption=none buprepo=bup@localhost:archie
|
||||||
|
initremote bup (bup init...)
|
||||||
|
Reinitialized existing Git repository in /media/backup/home/archie/.bup/
|
||||||
|
Initialized empty Git repository in /media/backup/bup/archie/
|
||||||
|
(storing uuid...) sh: 1: cd: can't cd to /~/archie
|
||||||
|
git-annex: ssh failed
|
||||||
|
|
||||||
|
> ssh bup@localhost
|
||||||
|
Last login: Mon Jun 17 10:35:45 2013 from localhost
|
||||||
|
$ ls
|
||||||
|
archie
|
||||||
|
$ cd archie
|
||||||
|
$ ls
|
||||||
|
branches config description HEAD hooks info objects refs
|
||||||
|
|
||||||
|
|
||||||
|
# End of transcript or log.
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joeyh.name/"
|
||||||
|
nickname="joey"
|
||||||
|
subject="comment 1"
|
||||||
|
date="2013-06-15T18:50:45Z"
|
||||||
|
content="""
|
||||||
|
Joe, you need to carefully read [[direct_mode]]. When you manually run `git merge` in a direct mode repository, you defeat associated file tracking, with the resulting behavior you describe. This is why there is a [[todo/direct_mode_guard]] todo item.
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"
|
||||||
|
nickname="Joe"
|
||||||
|
subject="comment 2"
|
||||||
|
date="2013-06-15T19:39:09Z"
|
||||||
|
content="""
|
||||||
|
joey, Thank you for the reply. I have read that and also read about the direct mode guard. I only used git merge because I was stuck and didn't know what else to do. I assume the proper way to refresh my backup repo is to git annex sync. That's what's failing with the non-fast-forward error. I don't know what to do from there. Thank you for any help.
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"
|
||||||
|
nickname="Joe"
|
||||||
|
subject="comment 3"
|
||||||
|
date="2013-06-16T13:27:36Z"
|
||||||
|
content="""
|
||||||
|
Making some progress. It looks like it needs a .map file for the newly added file when I pull in the backup repo. I'm tracing the various places addAssociatedFile gets called. It looks like sync should do it. I think that's what sets up the map. If I copy the map file from another repo, I'm able to call get annex get foo2.txt. So the key is getting that map file created.
|
||||||
|
"""]]
|
|
@ -0,0 +1,76 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"
|
||||||
|
nickname="Joe"
|
||||||
|
subject="comment 4"
|
||||||
|
date="2013-06-16T17:27:18Z"
|
||||||
|
content="""
|
||||||
|
I have a workaround that requires a small patch. I'm not sure why it's not creating the mapping, but I noticed that git annex fsck has a verifyDirectMapping which will create the mapping if it doesn't exist.
|
||||||
|
|
||||||
|
git annex fsck will throw an error on fixLinks and won't proceed to verifyDirectMapping if the map file doesn't exist. So, I needed a way to call verifyDirectMapping directly. My hack is to add an argument to git annex fsck to call verifyDirectMapping.
|
||||||
|
|
||||||
|
My workflow is this:
|
||||||
|
|
||||||
|
**repo1**:
|
||||||
|
[[!format sh \"\"\"
|
||||||
|
echo a > new.txt
|
||||||
|
git annex add .
|
||||||
|
git commit -m \"add a\"
|
||||||
|
git copy --to origin
|
||||||
|
git annex sync
|
||||||
|
\"\"\"]]
|
||||||
|
|
||||||
|
**repo2**:
|
||||||
|
[[!format sh \"\"\"
|
||||||
|
git annex sync
|
||||||
|
git annex pull origin synced/master
|
||||||
|
git annex fsck --verifyDirectMapping
|
||||||
|
git annex get .
|
||||||
|
\"\"\"]]
|
||||||
|
|
||||||
|
The new file comes down cleanly.
|
||||||
|
|
||||||
|
I'm sure there's a better way to do this to fix the core issue, but here's how I patched Fsck.hs as a minimal workaround
|
||||||
|
|
||||||
|
[[!format diff \"\"\"
|
||||||
|
|
||||||
|
diff --git a/Command/Fsck.hs b/Command/Fsck.hs
|
||||||
|
old mode 100644
|
||||||
|
new mode 100755
|
||||||
|
index 9af6a4a..97aabb8
|
||||||
|
--- a/Command/Fsck.hs
|
||||||
|
+++ b/Command/Fsck.hs
|
||||||
|
@@ -59,12 +60,16 @@ incrementalScheduleOption :: Option
|
||||||
|
incrementalScheduleOption = Option.field [] \"incremental-schedule\" paramTime
|
||||||
|
\"schedule incremental fscking\"
|
||||||
|
|
||||||
|
+verifyDirectMappingOption :: Option
|
||||||
|
+verifyDirectMappingOption = Option.flag [] \"verifyDirectMapping\" \"verifies direct mappings are consistent\"
|
||||||
|
+
|
||||||
|
options :: [Option]
|
||||||
|
options =
|
||||||
|
[ fromOption
|
||||||
|
, startIncrementalOption
|
||||||
|
, moreIncrementalOption
|
||||||
|
, incrementalScheduleOption
|
||||||
|
+ , verifyDirectMappingOption
|
||||||
|
]
|
||||||
|
|
||||||
|
seek :: [CommandSeek]
|
||||||
|
@@ -107,18 +112,23 @@ withIncremental = withValue $ do
|
||||||
|
start :: Maybe Remote -> Incremental -> FilePath -> (Key, Backend) -> CommandStart
|
||||||
|
start from inc file (key, backend) = do
|
||||||
|
numcopies <- numCopies file
|
||||||
|
- case from of
|
||||||
|
- Nothing -> go $ perform key file backend numcopies
|
||||||
|
- Just r -> go $ performRemote key file backend numcopies r
|
||||||
|
+ verify <- Annex.getFlag (Option.name verifyDirectMappingOption)
|
||||||
|
+ if verify
|
||||||
|
+ then go $ verifyDirectMapping key file
|
||||||
|
+ else
|
||||||
|
+ case from of
|
||||||
|
+ Nothing -> go $ perform key file backend numcopies
|
||||||
|
+ Just r -> go $ performRemote key file backend numcopies r
|
||||||
|
|
||||||
|
|
||||||
|
\"\"\"]]
|
||||||
|
"""]]
|
|
@ -1,4 +1,4 @@
|
||||||
Today I got to deal with bugs on Android (busted use of `cp` amoung other
|
Today I got to deal with bugs on Android (busted use of `cp` among other
|
||||||
problems), Windows (fixed a strange hang when adding several files), and
|
problems), Windows (fixed a strange hang when adding several files), and
|
||||||
Linux (`.desktop` files suck and Wine ships a particularly nasty one).
|
Linux (`.desktop` files suck and Wine ships a particularly nasty one).
|
||||||
Pretty diverse!
|
Pretty diverse!
|
||||||
|
|
25
doc/forum/Windows_usage_instructions.mdwn
Normal file
25
doc/forum/Windows_usage_instructions.mdwn
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
Having a spot of bother in setting up for windows usage.
|
||||||
|
|
||||||
|
I'm attempting to have a windows box syncing to a server (over ssh) and a linux box also syncing against that*
|
||||||
|
|
||||||
|
So, on each machine I do
|
||||||
|
|
||||||
|
git init
|
||||||
|
git annex init
|
||||||
|
|
||||||
|
|
||||||
|
On the windows and linux desktops I then do a
|
||||||
|
|
||||||
|
git remote add server serverdetails.
|
||||||
|
|
||||||
|
Now the problem is that if I don't add files to the repos on the machines, they won't sync as there is no branch checked out; and if I do then the first one is fine but the second will fail as it doesn't allow fast-forwards. What am I doing wrong? I've tried making the server repo bare / not bare.
|
||||||
|
|
||||||
|
I'm using the latest nightly windows build, and a build from git from today (29d5bb94b4512cfe3072c9ff840cb0ce9f2af744)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*Actually I'm trying to do something a little more complex than that, but this is the simplest version I can come up with.
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"
|
||||||
|
nickname="Joe"
|
||||||
|
subject="comment 1"
|
||||||
|
date="2013-06-16T11:29:36Z"
|
||||||
|
content="""
|
||||||
|
This may be related to [this](http://git-annex.branchable.com/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_/#comment-a023dca06c2bcb9636d8a332f8e95ae4)
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="tomas"
|
||||||
|
ip="188.167.111.235"
|
||||||
|
subject="comment 2"
|
||||||
|
date="2013-06-16T13:32:31Z"
|
||||||
|
content="""
|
||||||
|
The result of that command returned without writing any files.
|
||||||
|
"""]]
|
|
@ -0,0 +1,3 @@
|
||||||
|
If possible a frequently updated daily build in separate package for those more adventurous of us.
|
||||||
|
|
||||||
|
It would make installing and testing much easier and no need to change configuration settings to allow untrusted source.
|
Loading…
Add table
Add a link
Reference in a new issue