summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* Make git clean filter preserve the backend that was used for a file.Gravatar Joey Hess2016-06-09
|
* Fix update of associated files db when unlocking a file in a v6 repo.Gravatar Joey Hess2016-06-09
|
* Make lock and unlock work in v6 repos on files whose content is not present.Gravatar Joey Hess2016-06-09
|
* move --to: Better behavior when system is completely out of disk space; drop ↵Gravatar Joey Hess2016-06-05
| | | | | | | | content from disk before writing location log. I noticed move --to failing when there was no disk space. The file was sent to the remote, but it crashed before it could be dropped locally. This could fix that.
* list: Do not include dead repositories.Gravatar Joey Hess2016-06-04
|
* refactor isBareRepoGravatar Joey Hess2016-06-02
|
* sync --content: Fix bug that caused transfers of files to be made to a git ↵Gravatar Joey Hess2016-06-02
| | | | | | | | | | | remote that does not have a UUID. This particularly impacted clones from gcrypt repositories. Added guard in Annex.Transfer to prevent this problem at a deeper level. I'm unhappy ith NoUUID, but having Maybe UUID instead wouldn't help either if nothing checked that there was a UUID. Since there legitimately need to be Remotes that do not have a UUID, I can't see a way to fix it at the type level, short making there be two separate types of Remotes.
* enableremote: Remove annex-ignore configuration from a remote.Gravatar Joey Hess2016-05-24
|
* enableremote: Can now be used to explicitly enable git-annex to use git ↵Gravatar Joey Hess2016-05-24
| | | | remotes. Using the command this way prevents other git-annex commands from probing new git remotes to auto-enable them.
* Pass the various gnupg-options configs to gpg in several cases where they ↵Gravatar Joey Hess2016-05-23
| | | | | | | | | | | | were not before. Removed the instance LensGpgEncParams RemoteConfig because it encouraged code that does not take the RemoteGitConfig into account. RemoteType's setup was changed to take a RemoteGitConfig, although the only place that is able to provide a non-empty one is enableremote, when it's changing an existing remote. This led to several folow-on changes, and got RemoteGitConfig plumbed through.
* remove unusedGravatar Joey Hess2016-05-23
|
* adjust: Add --fix adjustment, which is useful when the git directory is in a ↵Gravatar Joey Hess2016-05-16
| | | | nonstandard place.
* add: Adding a v6 pointer file used to annex it; now the pointer file is ↵Gravatar Joey Hess2016-05-16
| | | | | | added to git as-is. (git add of a pointer file already did the right thing)
* reorder associated file db updateGravatar Joey Hess2016-05-16
| | | | | | | | | | | | | | | There's a potential race where the smudge filter is run at the same time an object is being downloaded. If the download finished after the inAnnex check, and before the keys db was updated, the associated file would not get updated with the downloaded content. I'm not sure this closes the race; it may only narrow the window. Problem is, the keys database needs to communicate between two different processes. In the case of the assistant, the transferkeys command is the other process, and it closes the db handle after getting the file. So, it should re-open the database and so see the update that the smudge filter has written to it. But, what if the smudge filter takes a while to update the database?
* assistant: Fix race in v6 mode that caused downloaded file content to ↵Gravatar Joey Hess2016-05-16
| | | | | | | | | | | | sometimes not replace pointer files. The keys database handle needs to be closed after merging, because the smudge filter, in another process, updates the database. Old cached info can be read for a while from the open database handle; closing it ensures that the info written by the smudge filter is available. This is pretty horribly ad-hoc, and it's especially nasty that the transferrer closes the database every time.
* adjust: If the adjusted branch already exists, avoid overwriting it, since ↵Gravatar Joey Hess2016-05-13
| | | | | | | | | | | | | | | | | it might contain changes that have not yet been propigated to the original branch. Could not think of a foolproof way to detect if the old adjusted branch was just behind the current branch. It's possible that the user amended the adjusting commit at the head of the adjusted branch, for example. I decided to bail in this situation, instead of just entering the old branch, so that if git annex adjust succeeds the user is always in a *current* adjusted branch, not some old and out of date one. What could perhaps be done is enter the old branch and then update it. But that seems too magical; the user may have rebased master or something or may not want to propigate the changes from the old branch. Best to error out.
* fsck: When a key is not previously known in the location log, record ↵Gravatar Joey Hess2016-05-10
| | | | something so that reinject --known will work.
* fix overindentGravatar Joey Hess2016-05-10
|
* version: Display OS version and architecture too.Gravatar Joey Hess2016-05-05
|
* fix build warning on windows and androidGravatar Joey Hess2016-05-05
|
* map: Hide dead repositories that are not connected to the graph.Gravatar Joey Hess2016-05-04
| | | | | | * map: Hide dead repositories that are not connected to the graph. * map: Changed colors; red is used for untrusted repositories and grey for dead.
* Fix bug that sometimes prevented git-annex smudge --clean from consuming all ↵Gravatar Joey Hess2016-05-02
| | | | its input, which resulted in git add bypassing git-annex.
* refactorGravatar Joey Hess2016-04-22
|
* assistant: Deal with upcoming git's refusal to merge unrelated histories by ↵Gravatar Joey Hess2016-04-22
| | | | | | | | | | | | | default git 2.8.1 (or perhaps 2.9.0) is going to prevent git merge from merging in unrelated branches. Since the webapp's pairing etc features often combine together repositories with unrelated histories, work around this behavior change by setting GIT_MERGE_ALLOW_UNRELATED_HISTORIES when the assistant merges. Note though that this is not done for git annex sync's merges, so it will follow git's default or configured behavior.
* reinject: Added new mode which can reinject known files into the annex.Gravatar Joey Hess2016-04-22
| | | | For example: git-annex reinject --known /mnt/backup/*
* adjusted branches need git 2.2.0 or newerGravatar Joey Hess2016-04-22
| | | | | | When git-annex is used with a git version older than 2.2.0, disable support for adjusted branches, since GIT_COMMON_DIR is needed to update them and was first added in that version of git.
* calckey: New plumbing command, calculates the key that would be used to ↵Gravatar Joey Hess2016-04-20
| | | | refer to a file
* reinject: When src file's content cannot be verified, leave it alone, ↵Gravatar Joey Hess2016-04-20
| | | | instead of deleting it.
* fsck: Warn when core.sharedRepository is set and an annex object file's ↵Gravatar Joey Hess2016-04-14
| | | | | | | | | | | | | | write bit is not set and cannot be set due to the file being owned by a different user. Made all Annex.Perms file mode changing functions ignore errors when core.sharedRepository is set, because the file might be owned by someone else. I don't fancy getting bug reports about crashes due to set modes in this configuration, which is a very foot-shooty configuration in the first place. The fsck warning is necessary because old repos kept files mode 444, which doesn't allow locking them, and so if the mode remains 444 due to the file being owned by someone else, the user should be told about it.
* Preserve execute bits of unlocked files in v6 mode.Gravatar Joey Hess2016-04-14
| | | | | | | | | | | | | | When annex.thin is set, adding an object will add the execute bits to the work tree file, and this does mean that the annex object file ends up executable. This doesn't add any complexity that wasn't already present, because git annex add of an executable file has always ingested it so that the annex object ends up executable. But, since an annex object file can be executable or not, when populating an unlocked file from one, the executable bit is always added or removed to match the mode of the pointer file.
* webapp: When $HOME is a git repository, and has been initialized for use by ↵Gravatar Joey Hess2016-04-13
| | | | git-annex, opening the webapp went ahead and ran the assistant there, annexing all files. Since this is almost certianly not desirable, especially when the user is just opening the webapp from a dekstop menu which happens to run it in $HOME, the webapp will now not treat such a $HOME git repository as a git-annex repository.
* smudge: Print a warning when annex.thin is set, as git's smudge interface ↵Gravatar Joey Hess2016-04-13
| | | | does not allow honoring that configuration.
* correct commentGravatar Joey Hess2016-04-13
|
* add AdjBranch newtype; some simplicationsGravatar Joey Hess2016-04-09
|
* hard links on windowsGravatar Joey Hess2016-04-08
| | | | | * annex.thin and annex.hardlink are now supported on Windows. * unannex --fast now makes hard links on Windows.
* run out of tree merge with --no-ffGravatar Joey Hess2016-04-06
| | | | | | This is how direct mode does it too, and somehow, for reasons that currently escape me, this makes git merge not care if it's run with an empty work tree.
* fix auto merge conflict resolution when doing out of tree merge for adjusted ↵Gravatar Joey Hess2016-04-06
| | | | branch
* sync: Show output of git commit.Gravatar Joey Hess2016-04-05
| | | | | | Rationalle: User might have hook scripts whose output they want to see. Also, git commit output may tell the user they forgot to add a file. The output is not too ugly when there's nothing to commit.
* Merge branch 'adjustedbranch'Gravatar Joey Hess2016-03-31
|\
| * fixed merging of changes from adjusted branch + a remoteGravatar Joey Hess2016-03-31
| |
| * autoinit on upgradeGravatar Joey Hess2016-03-31
| |
| * made some progress on syncing adjusted branches, but still buggyGravatar Joey Hess2016-03-31
| |
* | log --raw-date: Use to display seconds from unix epoch.Gravatar Joey Hess2016-03-29
| |
* | log: Display time with time zone.Gravatar Joey Hess2016-03-29
| | | | | | | | Also cleaned up ugliness with zombies.
| * prevent git-annex adjust changing things out from under the daemonGravatar Joey Hess2016-03-29
| |
| * init: Automatically enter the adjusted unlocked branch when in a v6 repo on ↵Gravatar Joey Hess2016-03-29
| | | | | | | | a filesystem not supporting symlinks.
| * limit git annex adjust to v6 modeGravatar Joey Hess2016-03-29
| | | | | | | | doesn't work in v5
| * option parser for adjust commandGravatar Joey Hess2016-03-29
| |
| * Merge branch 'master' into adjustedbranchGravatar Joey Hess2016-03-29
| |\ | |/ |/|
* | Correct git-annex info to include unlocked files in v6 repository.Gravatar Joey Hess2016-03-14
| | | | | | | | | | | | | | | | | | | | | | An unlocked present file does not have a pointer file in the worktree, so info skipped counting it. It may be that unused was also affected by the problem, but it seemed not to be in my tests. I think because of the use of the associatedFilesFilter. This fix slows down both info and unused a little bit, since they have to query the contents of files from git, but only when handling unlocked files.