Joey Hess
d8ad1d5503
import: Don't stop entire import when one file fails due to being gitignored or conflicting with something in the work tree.
2015-04-29 13:56:41 -04:00
Joey Hess
2e54251c18
import: Check for gitignored files before moving them into the tree. (Needs git 1.8.4 or newer.)
2015-04-29 13:46:12 -04:00
Joey Hess
cfbeb1e7b7
Fix bogus failure of fsck --fast.
2015-04-27 17:40:21 -04:00
Joey Hess
ca2cf63e34
clean up imports
2015-04-19 10:47:07 -04:00
Joey Hess
addc82dab7
removed all uses of undefined from code base
...
It's a code smell, can lead to hard to diagnose error messages.
2015-04-19 00:38:29 -04:00
Joey Hess
978906c616
forgot to add these
2015-04-18 16:09:09 -04:00
Joey Hess
ef2202fd94
required: New command, like wanted, but for required content.
...
Also refactored some code to reduce duplication.
2015-04-18 16:04:35 -04:00
Joey Hess
8d685768d3
fsck --from remote: Avoid downloading a key if it would go over the annex.diskreserve limit.
2015-04-18 14:23:42 -04:00
Joey Hess
8489057e8d
fsck --from remote: When bad content is found in the remote, and the local repo does not have a copy of the content, preserve the bad content in .git/annex/bad/ to avoid further data loss.
2015-04-18 14:13:07 -04:00
Joey Hess
2be4834822
info: Added --bytes option.
2015-04-12 14:08:40 -04:00
Joey Hess
b14ec45aa8
info dir: Added information about repositories that contain files in the specified directory.
...
This is a nearly free feature; it piggybacks on the location log lookups
done for the numcopies stats. So, the only extra overhead is updating
the map of repository sizes.
However, I had to switch to Data.Map.Strict, which needs containers 0.5.
If backporting to wheezy, will probably need to revert this commit.
2015-04-12 12:54:41 -04:00
Joey Hess
40aae2dd11
unused import
2015-04-10 13:16:04 -04:00
Joey Hess
ce0a82f493
contentlocationn: New plumbing command.
2015-04-09 15:34:47 -04:00
Joey Hess
3695094454
importfeed: Error out when passed a non-url.
2015-04-09 13:09:06 -04:00
Joey Hess
aa31af5594
importfeed: Fix feed download when curl is used.
...
This bug used to only afflict file:/// urls, but became more exposed
by b8f0b7309f
.
2015-04-09 13:02:57 -04:00
Joey Hess
84dc5629c6
info: Display repository mode: bare when in a bare (non-direct mode) repo.
2015-04-09 12:28:26 -04:00
Joey Hess
d5a25bd567
proxy: Made it work when run in a new repository before initial commit.
2015-04-09 12:24:42 -04:00
Joey Hess
3c2cb25698
wording
2015-04-08 16:16:42 -04:00
Joey Hess
4da371af1e
add: If annex.largefiles is set and does not match a file that's being added, the file will be checked into git rather than being added to the annex. Previously, git annex add skipped over such files; this new behavior is more useful in direct mode.
2015-04-08 16:14:23 -04:00
Joey Hess
279fa44cd0
fromkey, registerurl: When reading from stdin, allow the filename and url, respectively, to contain whitespace.
2015-04-07 00:58:51 -04:00
Joey Hess
62ed5409c6
expire --no-act
2015-04-05 15:02:55 -04:00
Joey Hess
e3ea9d21fc
info remove: show trust level
2015-04-05 13:51:01 -04:00
Joey Hess
9445556c97
rethought distributed fsck; instead add activity.log and expire command
...
This is much more space efficient!
2015-04-05 12:50:02 -04:00
Joey Hess
1c91024978
rename bothHandles -> ioHandles
2015-04-03 15:35:18 -04:00
Jean Jordaan
500cf3e37e
Steer towards deduplication
2015-04-03 14:27:34 +07:00
Joey Hess
7a44dacb74
version: Add --raw
2015-04-02 15:37:39 -04:00
Joey Hess
8b6013dad4
remove unused param
2015-04-01 23:14:51 -04:00
Joey Hess
656fc1c881
fsck: Added --distributed and --expire options, for distributed fsck.
2015-04-01 17:53:16 -04:00
Joey Hess
42bbed7ce5
import: --deduplicate and --cleanduplicates now output the keys corresponding to duplicated files they process.
2015-03-31 15:36:02 -04:00
Joey Hess
6b55974723
addurl --file: When used with a special remote that claims urls and checks their contents, don't override the user's provided filename with filenames that the special remote suggests. Also, don't allow adding the url if the special remote says it contains multiple files.
2015-03-31 15:20:29 -04:00
Joey Hess
9e25cbde20
importfeed: Avoid downloading a redundant item from a feed whose guid has been downloaded before, even when the url has changed.
...
To support this, always store itemid in metadata; before this was only done
when annex.genmetadata was set.
2015-03-31 13:30:13 -04:00
Joey Hess
cd6b62f35e
--auto is no longer a global option; only get, drop, and copy accept it.
...
Not a behavior change unless you were passing it to a command that ignored it.
2015-03-25 17:06:14 -04:00
Joey Hess
c955fb2736
a few command usage fixes
2015-03-25 12:09:42 -04:00
Joey Hess
3cc7c03721
Man pages for individual commands now available, and can be opened using "git annex help <command>"
2015-03-23 17:50:03 -04:00
Joey Hess
daec4b007a
splitting up the man page
...
Common command man pages all split out and often expanded.
A few sections split out into their own pages.
Still need to do all the other commands..
2015-03-23 15:36:10 -04:00
Joey Hess
c233f98564
migrate: --force will force migration of keys already using the destination backend. Useful in rare cases.
2015-03-23 12:11:16 -04:00
Joey Hess
e6158130c6
checkpresentkey: New plumbing command to check if a key can be verified to be present on a remote.
2015-03-20 11:44:46 -04:00
Joey Hess
50ef4105e3
readpresentkey: New plumbing command for checking location log.
2015-03-20 11:22:27 -04:00
Joey Hess
abfe3c09b2
registerurl: New plumbing command for mass-adding urls to keys.
2015-03-15 14:37:33 -04:00
Joey Hess
b24bb6b435
fromkey: Add stdin mode.
2015-03-15 14:07:43 -04:00
Joey Hess
fa180c1ba1
fromkey --force: Skip test that the key has its content in the annex.
2015-03-15 13:51:58 -04:00
Joey Hess
504dda82a4
addurl: Added --raw option, which bypasses special handling of quvi, bittorrent etc urls.
2015-03-05 14:46:08 -04:00
Joey Hess
a6db10d565
sync: Fix committing when in a direct mode repo that has no HEAD ref.
...
Seen for example, a newly checked out git submodule. In this case,
.git/HEAD is a raw sha, rather than the usual reference to a ref.
Removed currentSha in passing, since it was a more roundabout way of
doing what headSha does, and headSha is more robust.
2015-03-04 15:25:35 -04:00
Joey Hess
79b6500111
fix innaccurate comment
2015-03-04 14:44:11 -04:00
Joey Hess
450ee53ab6
When re-execing git-annex, use current program location, rather than ~/.config/git-annex/program, when possible.
...
Most of the time, there will be no discreprancy between programPath and
readProgramFile.
But, the programFile might have been written by an old version of git-annex
that is still installed, while a newer one is currently running. In this
case, we want to run the same one that's currently running.
This is especially important for things like the GIT_SSH=git-annex used for
ssh connection caching.
The only code that still uses readProgramFile directly is the upgrade code,
which needs to know where the standalone git-annex was installed, in order to
upgrade it.
2015-02-28 17:23:13 -04:00
Joey Hess
289881bdb8
sync: As well as the synced/git-annex push, attempt a git-annex:git-annex push, as long as the remote branch is an ancestor of the local branch, to better support bare git repos.
...
See my comment in the bug report for analysis; basically this is safe
because it's a non-forced push, so won't lose history. Even if it was a
forced push or somehow races, things will eventually become consistent and
no git-annex branch info will be lost.
(This used to be done, but it forgot to do it since version 4.20130909.)
2015-02-27 14:49:56 -04:00
Joey Hess
8a3e2b302a
unannex: Refuse to unannex when repo is too new to have a HEAD
...
In this case there must be staged changes in the index (if there is
anything to unannex), and the unannex code path needs to run with a clean
index.
2015-02-25 13:59:23 -04:00
Joey Hess
3414229354
fsck: Multiple incremental fscks of different repos (some remote) can now be in progress at the same time in the same repo without it getting confused about which files have been checked for which remotes.
2015-02-17 17:08:11 -04:00
Joey Hess
afb3e3e472
avoid crash when starting fsck --incremental when one is already running
...
Turns out sqlite does not like having its database deleted out from
underneath it. It might suffice to empty the table, but I would rather
start each fsck over with a new database, so I added a lock file, and
running incremental fscks use a shared lock.
This leaves one concurrency bug left; running two concurrent fsck --more
will lead to: "SQLite3 returned ErrorBusy while attempting to perform step."
and one or both will fail. This is a concurrent writers problem.
2015-02-17 13:30:24 -04:00
Joey Hess
7d36e7d18d
commit new transaction after 60 seconds
...
Database.Handle can now be given a CommitPolicy, making it easy to specify
transaction granularity.
Benchmarking the old git-annex incremental fsck that flips sticky bits
to the new that uses sqlite, running in a repo with 37000 annexed files,
both from cold cache:
old: 6m6.906s
new: 6m26.913s
This commit was sponsored by TasLUG.
2015-02-16 17:05:42 -04:00