| Commit message (Collapse) | Author | Age |
|
|
|
| |
This will allow adding other styles of output.
|
|
|
|
|
|
|
|
| |
Statting files returned by dirContents to see if they exist and are regular
files seems pretty useless. This code was originally part of fsck, and
perhaps the idea then was to avoid things returned by dirContents that were
not files. But it's certianly not needed in the current use cases for
getKeysPresent.
|
| |
|
| |
|
|
|
|
| |
Did all sources except Remotes/* and Command/*
|
| |
|
|
|
|
|
| |
Generalized LocationLog to PresenceLog, and use a presence log to record
urls for the web special remote.
|
| |
|
|
|
|
| |
It was always imported qualified as Git anyway
|
|
|
|
|
|
|
| |
Otherwise, the location log changes are only staged in its index,
and this can confuse matters if pulling or cloning from the remote.
The test suite was failing because this wasn't done.
|
|
|
|
|
| |
Many more commands can work in bare repos now, thanks to the git-annex
branch.
|
| |
|
| |
|
|
|
|
| |
It will need to run in Annex so it can use Branch
|
| |
|
|
|
|
|
| |
Just more golfing.. I am pretty sure something in a library somewhere can
do this, but I have been unable to find it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Fully tested and working, including resuming and encryption. (Though not
resuming when sending *with* encryption; gpg doesn't produce identical
output each time.)
Uses same layout as the directory special remote and the .git/annex/objects/
directory.
|
|
|
|
|
|
| |
It's possible that rsync finishes transferring a file and sets its mode,
but the file transfer to the annex then fails. When resuming, rsync
would then not be able to write to the tmp file.
|
|
|
|
|
|
|
|
|
|
|
| |
git when a remote's path contains a symlink. Closes: #621386
This was a real PITA to fix, since location logs can be staged in
both the current repo, as well as in local remote's repos, in
which case the cwd will not be in the repo. And git add needs different
params in both cases, when absolute paths are not used.
In passing, git annex fsck now stages location log fixes.
|
| |
|
|
|
|
|
|
|
| |
Since the queue is flushed in between subcommand actions being run,
there should be no issues with actions that expect to queue up some stuff
and have it run after they do other stuff. So I didn't have to audit for
such assumptions.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Add annex.diskreserve config setting, to control how much free space to
reserve for other purposes and avoid using (defaults to 1 mb).
|
|
|
|
|
|
|
|
| |
Free space checking is now done, for transfers of data for keys that have free space metadata.
(Notably, not for SHA* keys generated with git-annex 0.24 or earlier.)
The code is believed to work on Linux, FreeBSD, and OSX; check compile-time
messages to see if it is not enabled for your OS.
|
| |
|
| |
|
|
|
|
|
|
|
| |
It compiles. It sorta works. Several subcommands are FIXME marked and
broken, because things that used to accept separate --backend and --key
params need to be changed to accept just a --key that encodes all the key
info, now that there is metadata in keys.
|
| |
|
|
|
|
| |
or may not match locale settings, any attempt to decode filenames will fail for some files. So instead, do all output in binary mode.
|
|
|
|
| |
update the location log.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This assumes that changes to content in bare repos are made from some
non-bare repo, and that the location log is updated on that side.
That's true for move --from and move --to.
It's *not* true for dropkey and setkey and recvkey. But those are plumbing
level commands, so I guess it's ok to assume that someone running those
in a bare repo knows what they're doing. And git-annex-shell is used to
run those, and if the bare repo is non-local, it needs to be able to use
them even though they cannot update the location log. So this seems
unavoidable.
|
|
|
|
|
|
|
|
|
|
|
| |
This relies on git-annex's behavior of reading the config of local repos.
That allows repoIsLocalBare to examine the git config for core.bare.
Hopefully, gitAnnexLocation, gitAnnexDir, and gitAnnexObjectDir
are only used on local repos. But, I have not audited fully, since
they're probably not (see for example copyToRemote). And so,
the functions fall back to their old non-bare-aware behavior for
non-local repos.
|
|
|
|
|
| |
So, I have a type checked safe handling of filenames starting with dashes,
throughout the code.
|
|
|
|
|
|
|
|
| |
Based on http://hackage.haskell.org/trac/ghc/ticket/3307 ,
whether FilePath contains decoded unicode varies by OS.
So, add a configure check for it.
Also, renamed showFile to filePathToString
|
| |
|
|
|
|
|
|
|
|
|
| |
Internally, the filenames are stored as un-decoded unicode.
I tried decoding them, but then haskell tries to access the wrong files.
Hmm.
So, I've unhappily chosen option "B", which is to decode filenames before
they are displayed.
|
|
|
|
|
|
|
| |
* Improved temp file handling. Transfers of content can now be resumed
from temp files later; the resume does not have to be the immediate
next git-annex run.
* unused: Include partially transferred content in the list.
|
|
|
|
|
|
|
|
|
|
| |
Rename Locations functions for better consitency, and make their values
more consistent too.
Used </> rather than manually building paths. There are still more places
that manually do so, but are tricky, due to the behavior of </> when
the second FilePath is absolute. So I only changed places where
it obviously was relative.
|
|
Most of it was to do with managing annexed Content, so put there
|