git-annex/Command
Joey Hess a78eb6dd58
sync --only-annex and annex.synconlyannex
* Added sync --only-annex, which syncs the git-annex branch and annexed
  content but leaves managing the other git branches up to you.
* Added annex.synconlyannex git config setting, which can also be set with
  git-annex config to configure sync in all clones of the repo.

Use case is then the user has their own git workflow, and wants to use
git-annex without disrupting that, so they sync --only-annex to get the
git-annex stuff in sync in addition to their usual git workflow.

When annex.synconlyannex is set, --not-only-annex can be used to override
it.

It's not entirely clear what --only-annex --commit or --only-annex
--push should do, and I left that combination not documented because I
don't know if I might want to change the current behavior, which is that
such options do not override the --only-annex. My gut feeling is that
there is no good reasons to use such combinations; if you want to use
your own git workflow, you'll be doing your own committing and pulling
and pushing.

A subtle question is, how should import/export special remotes be handled?
Importing updates their remote tracking branch and merges it into master.
If --only-annex prevented that git branch stuff, then it would prevent
exporting to the special remote, in the case where it has changes that
were not imported yet, because there would be a unresolved conflict.

I decided that it's best to treat the fact that there's a remote tracking
branch for import/export as an implementation detail in this case. The more
important thing is that an import/export special remote is entirely annexed
content, and so it makes a lot of sense that --only-annex will still sync
with it.
2020-02-17 16:33:10 -04:00
..
Add.hs add --force-annex/--force-git 2020-01-01 14:03:06 -04:00
AddUnused.hs more RawFilePath 2019-12-18 17:10:28 -04:00
AddUrl.hs support git remotes that need http basic auth 2020-01-22 16:16:19 -04:00
Adjust.hs adjust --lock: This enters an adjusted branch where files are locked. 2019-09-27 14:23:25 -04:00
Assistant.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
Benchmark.hs improve benchmark --databases 2019-11-21 17:25:20 -04:00
CalcKey.hs plumb MeterUpdate into getKey 2019-06-25 11:43:24 -04:00
CheckPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Commit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Config.hs git-annex-config --set/--unset: No longer change the local git config setting 2019-12-20 13:17:28 -04:00
ConfigList.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
ContentLocation.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Copy.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Dead.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Describe.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
DiffDriver.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Direct.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Drop.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
DropKey.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
DropUnused.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
EnableRemote.hs initremote --describe-other-params 2020-01-20 16:05:51 -04:00
EnableTor.hs remove recently added and unncessary cwd parameter 2019-10-21 13:48:52 -04:00
ExamineKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Expire.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Export.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Find.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
FindRef.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Fix.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Forget.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
FromKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Fsck.hs fsck --from remote -J concurrency bug 2020-02-14 14:52:15 -04:00
FuzzTest.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
GCryptSetup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Get.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Group.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
GroupWanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Help.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
ImportFeed.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
InAnnex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Indirect.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Info.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Init.hs have init --version fail when repo is already initialized with other version 2019-08-08 14:13:02 -04:00
InitRemote.hs --whatelse is a better name than --describe-other-params 2020-01-20 17:04:45 -04:00
Inprogress.hs Merge branch 'master' into bs 2019-12-18 15:13:30 -04:00
List.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Lock.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
LockContent.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Log.hs annex.tune.branchhash1=true bugfix 2020-02-14 15:22:48 -04:00
LookupKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Map.hs more RawFilePath 2019-12-18 17:10:28 -04:00
MatchExpression.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Merge.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
MetaData.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Migrate.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Mirror.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Move.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Multicast.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
NotifyChanges.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
P2P.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
P2PStdIO.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
PostReceive.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
PreCommit.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Proxy.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
ReadPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RecvKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RegisterUrl.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Reinit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Reinject.hs reinject --known: Fix bug that prevented it from working in a bare repo. 2020-01-06 14:22:22 -04:00
ReKey.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
RemoteDaemon.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
RenameRemote.hs be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Repair.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Required.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ResolveMerge.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
RmUrl.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Schedule.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Semitrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SendKey.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
SetKey.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
SetPresentKey.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Smudge.hs fix a case where file tracked by git unexpectedly becomes annex pointer file 2019-12-27 15:08:03 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Sync.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs a few more field functions 2020-01-15 12:57:56 -04:00
TransferInfo.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
TransferKey.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
TransferKeys.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Trust.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Unannex.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Undo.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Ungroup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Uninit.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Unlock.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Untrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Unused.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Upgrade.hs Added annex.autoupgraderepository configuration 2019-09-01 13:42:26 -04:00
VAdd.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
VCycle.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Version.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
VFilter.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Vicfg.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
View.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
VPop.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Wanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Watch.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
WebApp.hs everything is building again 2019-12-05 15:10:23 -04:00
Whereis.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00