git-annex man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

git-annex(1)							  git-annex(1)

NAME
       git-annex - manage files with git, without checking their contents in

SYNOPSIS
       git annex command [params ...]

DESCRIPTION
       git-annex  allows  managing  files  with git, without checking the file
       contents into git. While that may seem paradoxical, it is  useful  when
       dealing with files larger than git can currently easily handle, whether
       due to limitations in memory, checksumming time, or disk space.

       Even without file content tracking, being able  to  manage  files  with
       git, move files around and delete files with versioned directory trees,
       and use branches and distributed clones, are all very handy reasons  to
       use git. And annexed files can co-exist in the same git repository with
       regularly versioned files, which is convenient  for  maintaining	 docu‐
       ments,  Makefiles,  etc that are associated with annexed files but that
       benefit from full revision control.

       When a file is annexed, its content is moved into  a  key-value	store,
       and  a  symlink	is made that points to the content. These symlinks are
       checked into git and versioned like regular files. You  can  move  them
       around,	delete them, and so on. Pushing to another git repository will
       make git-annex there aware of the annexed file, and it can be  used  to
       retrieve its content from the key-value store.

EXAMPLES
	# git annex get video/hackity_hack_and_kaxxt.mov
	get video/hackity_hack_and_kaxxt.mov (not available)
	  I was unable to access these remotes: server
	  Try making some of these repositories available:
	    5863d8c0-d9a9-11df-adb2-af51e6559a49  -- my home file server
	    58d84e8a-d9ae-11df-a1aa-ab9aa8c00826  -- portable USB drive
	    ca20064c-dbb5-11df-b2fe-002170d25c55  -- backup SATA drive
	failed
	# sudo mount /media/usb
	# git remote add usbdrive /media/usb
	# git annex get video/hackity_hack_and_kaxxt.mov
	get video/hackity_hack_and_kaxxt.mov (from usbdrive...) ok

	# git annex add iso
	add iso/Debian_5.0.iso ok

	# git annex drop iso/Debian_4.0.iso
	drop iso/Debian_4.0.iso ok

	# git annex move iso --to=usbdrive
	move iso/Debian_5.0.iso (moving to usbdrive...) ok

COMMONLY USED COMMANDS
       Like many git commands, git-annex can be passed a path that is either a
       file or a directory. In the latter case it acts on all  relevant	 files
       in  the	directory.  When no path is specified, most git-annex commands
       default to acting on all relevant files in the current  directory  (and
       subdirectories).

       help   Display built-in help.

	      For help on a specific command, use git annex help command

       add [path ...]
	      Adds  files  in  the path to the annex. If no path is specified,
	      adds files from the current directory and below.

	      See git-annex-add(1) for details.

       get [path ...]
	      Makes the content of annexed files available in this repository.

	      See git-annex-get(1) for details.

       drop [path ...]
	      Drops the content of annexed files from this repository.

	      See git-annex-drop(1) for details.

       move [path ...] [--from=remote|--to=remote]
	      Moves the content of files from or to another remote.

	      See git-annex-move(1) for details.

       copy [path ...] [--from=remote|--to=remote]
	      Copies the content of files from or to another remote.

	      See git-annex-copy(1) for details.

       status [path ...]
	      Similar to git status --short, displays the status of the	 files
	      in the working tree. Particularly useful in direct mode.

	      See git-annex-status(1) for details.

       unlock [path ...]
	      Unlock annexed files for modification.

	      See git-annex-unlock(1) for details.

       edit [path ...]
	      This is an alias for the unlock command. May be easier to remem‐
	      ber, if you think of this as allowing you	 to  edit  an  annexed
	      file.

       lock [path ...]
	      Use  this	 to undo an unlock command if you don't want to modify
	      the files, or have made modifications you want to discard.

	      See git-annex-lock(1) for details.

       sync [remote ...]
	      Synchronize local repository with remotes.

	      See git-annex-sync(1) for details.

       mirror [path ...] [--to=remote|--from=remote]
	      Mirror content of files to/from another repository.

	      See git-annex-mirror(1) for details.

       addurl [url ...]
	      Downloads each url to its own file, which is added to the annex.

	      See git-annex-addurl(1) for details.

       rmurl file url
	      Record that the file is no longer available at the url.

	      See git-annex-rmurl(1) for details.

       import [path ...]
	      Move and add files from outside git working copy into the annex.

	      See git-annex-import(1) for details.

       importfeed [url ...]
	      Imports the contents of podcast feeds into the annex.

	      See git-annex-importfeed(1) for details.

       undo [filename|directory] ...
	      Undo last change to a file or directory.

	      See git-annex-undo(1) for details.

       watch  Watch for changes and autocommit.

	      See git-annex-watch(1) for details.

       assistant
	      Automatically sync folders between devices.

	      See git-annex-assistant(1) for details.

       webapp Opens a web app, that allows easy setup of a  git-annex  reposi‐
	      tory,  and  control of the git-annex assistant. If the assistant
	      is not already running, it will be started.

	      See git-annex-webapp(1) for details.

REPOSITORY SETUP COMMANDS
       init [description]

	      Until a repository (or one of its remotes) has been initialized,
	      git-annex	 will  refuse  to operate on it, to avoid accidentally
	      using it in a repository that was not intended to have an annex.

	      See git-annex-init(1) for details.

       describe repository description
	      Changes the description of a repository.

	      See git-annex-describe(1) for details.

       initremote name type=value [param=value ...]
	      Creates a new special remote, and adds it to .git/config.

	      See git-annex-initremote(1) for details.

       enableremote name [param=value ...]
	      Enables use of an existing special remote in the current reposi‐
	      tory.

	      See git-annex-enableremote(1) for details.

       numcopies [N]
	      Configure desired number of copies.

	      See git-annex-numcopies(1) for details.

       trust [repository ...]
	      Records  that  a	repository is trusted to not unexpectedly lose
	      content. Use with care.

	      See git-annex-trust(1) for details.

       untrust [repository ...]
	      Records that a repository is not trusted and could lose  content
	      at any time.

	      See git-annex-untrust(1) for details.

       semitrust [repository ...]
	      Returns a repository to the default semi trusted state.

	      See git-annex-semitrust(1) for details.

       group repository groupname
	      Add a repository to a group.

	      See git-annex-group(1) for details.

       ungroup repository groupname
	      Removes a repository from a group.

	      See git-annex-ungroup(1) for details.

       wanted repository [expression]
	      Get or set preferred content expression.

	      See git-annex-wanted(1) for details.

       groupwanted groupname [expression]
	      Get or set groupwanted expression.

	      See git-annex-groupwanted(1) for details.

       required repository [expression]
	      Get or set required content expression.

	      See git-annex-required(1) for details.

       schedule repository [expression]
	      Get or set scheduled jobs.

	      See git-annex-schedule(1) for details.

       vicfg  Opens EDITOR on a temp file containing most of the above config‐
	      uration settings, as well as a few others, and  when  it	exits,
	      stores any changes made back to the git-annex branch.

	      See git-annex-vicfg(1) for details.

       direct Switches a repository to use direct mode, where rather than sym‐
	      links to files, the files are directly present  in  the  reposi‐
	      tory.

	      See git-annex-direct(1) for details.

       indirect
	      Switches	a  repository  back  from  direct mode to the default,
	      indirect mode.

	      See git-annex-indirect(1) for details.

REPOSITORY MAINTENANCE COMMANDS
       fsck [path ...]

	      Checks the annex consistency, and warns about or fixes any prob‐
	      lems found.  This is a good complement to git fsck.

	      See git-annex-fsck(1) for details.

       expire [repository:]time ...
	      Expires  repositories that have not recently performed an activ‐
	      ity (such as a fsck).

	      See git-annex-expire(1) for details.

       unused Checks the annex for data that does not correspond to any	 files
	      present  in any tag or branch, and prints a numbered list of the
	      data.

	      See git-annex-unused(1) for details.

       dropunused [number|range ...]
	      Drops the data corresponding to the numbers, as  listed  by  the
	      last git annex unused

	      See git-annex-dropunused(1) for details.

       addunused [number|range ...]
	      Adds  back files for the content corresponding to the numbers or
	      ranges, as listed by the last git annex unused.

	      See git-annex-addunused(1) for details.

       fix [path ...]
	      Fixes up symlinks that have become  broken  to  again  point  to
	      annexed content.

	      See git-annex-fix(1) for details.

       merge  Automatically merge changes from remotes.

	      See git-annex-merge(1) for details.

       upgrade
	      Upgrades the repository to current layout.

	      See git-annex-upgrade(1) for details.

       dead [repository ...] [--key key]
	      Indicates	 that a repository or a single key has been irretriev‐
	      ably lost.

	      See git-annex-dead(1) for details.

       forget Causes the git-annex branch to be rewritten, throwing away  his‐
	      torical data about past locations of files.

	      See git-annex-forget(1) for details.

       repair This  can repair many of the problems with git repositories that
	      git fsck detects, but does not itself  fix.  It's	 useful	 if  a
	      repository  has become badly damaged. One way this can happen is
	      if a repository used by git-annex is on a removable  drive  that
	      gets unplugged at the wrong time.

	      See git-annex-repair(1) for details.

QUERY COMMANDS
       find [path ...]

	      Outputs  a  list of annexed files in the specified path. With no
	      path, finds files in the current directory and  its  subdirecto‐
	      ries.

	      See git-annex-find(1) for details.

       whereis [path ...]
	      Displays	information  about  where  the	contents  of files are
	      located.

	      See git-annex-whereis(1) for details.

       list [path ...]
	      Displays a table of remotes that contain	the  contents  of  the
	      specified	 files.	 This is similar to whereis but a more compact
	      display.

	      See git-annex-list(1) for details.

       log [path ...]
	      Displays the location log for the specified file or files, show‐
	      ing  each	 repository  they were added to ("+") and removed from
	      ("-").

	      See git-annex-log(1) for details.

       info [directory|file|remote|uuid ...]
	      Displays statistics and  other  information  for	the  specified
	      item,  which  can be a directory, or a file, or a remote, or the
	      uuid of a repository.

	      When no item is specified, displays statistics  and  information
	      for the repository as a whole.

	      See git-annex-info(1) for details.

       version
	      Shows  the  version  of git-annex, as well as repository version
	      information.

	      See git-annex-version(1) for details.

       map    Generate map of repositories.

	      See git-annex-map(1) for details.

METADATA COMMANDS
       metadata [path ...]

	      The content of an annexed file can have any number  of  metadata
	      fields attached to it to describe it. Each metadata field can in
	      turn have any number of values.

	      This command can be used to set metadata, or show the  currently
	      set metadata.

	      See git-annex-metadata(1) for details.

       view   [tag   ...]   [field=value  ...]	[field=glob  ...]  [!tag  ...]
       [field!=value ...]
	      Uses metadata to build a view branch of the files in the current
	      branch,  and  checks out the view branch. Only files in the cur‐
	      rent branch whose metadata matches all the specified field  val‐
	      ues and tags will be shown in the view.

	      See git-annex-view(1) for details.

       vpop [N]
	      Switches	from  the  currently  active view back to the previous
	      view.  Or, from the first view back to original branch.

	      See git-annex-vpop(1) for details.

       vfilter [tag ...] [field=value ...] [!tag ...] [field!=value ...]
	      Filters the current view to only the files that have the	speci‐
	      fied field values and tags.

	      See git-annex-vfilter(1) for details.

       vadd [field=glob ...] [field=value ...] [tag ...]
	      Changes the current view, adding an additional level of directo‐
	      ries to categorize the files.

	      See git-annex-vfilter(1) for details.

       vcycle When a view involves  nested  subdirectories,  this  cycles  the
	      order.

	      See git-annex-vcycle(1) for details.

UTILITY COMMANDS
       migrate [path ...]

	      Changes the specified annexed files to use a different key-value
	      backend.

	      See git-annex-migrate(1) for details.

       reinject src dest
	      Moves the src file into the annex as the	content	 of  the  dest
	      file.   This can be useful if you have obtained the content of a
	      file from elsewhere and want to put it in the local annex.

	      See git-annex-reinject(1) for details.

       unannex [path ...]
	      Use this to undo an accidental git annex add  command.  It  puts
	      the file back how it was before the add.

	      See git-annex-unannex(1) for details.

       uninit De-initialize git-annex and clean out repository.

	      See git-annex-uninit(1) for details.

       reinit uuid|description
	      Initialize repository, reusing old UUID.

	      See git-annex-reinit(1) for details.

PLUMBING COMMANDS
       pre-commit [path ...]

	      This is meant to be called from git's pre-commit hook. git annex
	      init automatically creates a pre-commit hook using this.

	      See git-annex-pre-commit(1) for details.

       lookupkey [file ...]
	      Looks up key used for file.

	      See git-annex-lookupkey(1) for details.

       contentlocation [key ..]
	      Looks up location of annexed content for a key.

	      See git-annex-contentlocation(1) for details.

       examinekey [key ...]
	      Print information that can be determined purely  by  looking  at
	      the key.

	      See git-annex-examinekey(1) for details.

       fromkey [key file]
	      Manually set up a file in the git repository to link to a speci‐
	      fied key.

	      See git-annex-fromkey(1) for details.

       registerurl [key url]
	      Registers an url for a key.

	      See git-annex-registerurl(1) for details.

       setkey key file
	      Moves a file into the annex as the content of a key.

	      See git-annex-setkey(1) for details.

       dropkey [key ...]
	      Drops annexed content for specified keys.

	      See git-annex-dropkey(1) for details.

       transferkey key [--from=remote|--to=remote]
	      Transfers a key from or to a remote.

	      See git-annex-transferkey(1) for details.

       transferkeys
	      Used internally by the assistant.

	      See git-annex-transferkey(1) for details.

       setpresentkey key uuid [1|0]
	      This plumbing-level command changes  git-annex's	records	 about
	      whether  the specified key's content is present in a remote with
	      the specified uuid.

	      See git-annex-setpresentkey(1) for details.

       readpresentkey key uuid
	      Read records of where key is present.

	      See git-annex-readpresentkey(1) for details.

       checkpresentkey key remote
	      Check if key is present in remote.

	      See git-annex-checkpresentkey(1) for details.

       rekey [file key ...]
	      Change keys used for files.

	      See git-annex-rekey(1) for details.

       findref [ref]
	      Lists files in a git ref.

	      See git-annex-findref(1) for details.

       proxy -- git cmd [options]
	      Only useful in a direct mode repository, this runs the specified
	      git  command with a temporary work tree, and updates the working
	      tree to reflect any changes staged or committed by the git  com‐
	      mand.

	      See git-annex-proxy(1) for details.

       resolvemerge
	      Resolves a conflicted merge, by adding both conflicting versions
	      of the file to the tree, using variants of their filename.  This
	      is  done	automatically  when  using git annex sync or git annex
	      merge.

	      See git-annex-resolvemerge(1) for details.

       diffdriver
	      This can be used to make git diff use an	external  diff	driver
	      with annexed files.

	      See git-annex-diffdriver(1) for details.

       remotedaemon
	      Detects  when  network  remotes  have  received  git  pushes and
	      fetches from them.

	      See git-annex-remotedaemon(1) for details.

       xmppgit
	      This command is used internally by the assistant to perform  git
	      pulls over XMPP.

	      See git-annex-xmppgit(1) for details.

TESTING COMMANDS
       test

	      This runs git-annex's built-in test suite.

	      See git-annex-test(1) for details.

       testremote remote
	      This  tests a remote by generating some random objects and send‐
	      ing them to the remote, then redownloading them,	removing  them
	      from the remote, etc.

	      It's  safe to run in an existing repository (the repository con‐
	      tents are not altered), although it may perform  expensive  data
	      transfers.

	      See git-annex-testremote(1) for details.

       fuzztest
	      Generates random changes to files in the current repository, for
	      use in testing the assistant.

	      See git-annex-fuzztest(1) for details.

COMMON OPTIONS
       These common options are accepted by all git-annex  commands,  and  may
       not be explicitly listed on their individual man pages.	(Many commands
       also accept the git-annex-matching-options(1).)

       --force
	      Force unsafe actions, such as dropping a file's content when  no
	      other  source  of	 it  can be verified to still exist, or adding
	      ignored files.  Use with care.

       --fast Enable less expensive, but also less thorough versions  of  some
	      commands.	 What is avoided depends on the command.

       --quiet
	      Avoid  the  default  verbose  display of what is done; only show
	      errors.

       --verbose
	      Enable verbose display.

       --debug
	      Show debug messages.

       --no-debug
	      Disable debug messages.

       --numcopies=n
	      Overrides the numcopies setting, forcing git-annex to ensure the
	      specified number of copies exist.

	      Note that setting numcopies to 0 is very unsafe.

       --time-limit=time
	      Limits  how long a git-annex command runs. The time can be some‐
	      thing like "5h", or "30m" or even "45s" or "10d".

	      Note that git-annex may continue running a little past the spec‐
	      ified time limit, in order to finish processing a file.

	      Also,  note that if the time limit prevents git-annex from doing
	      all it was asked to, it will exit with a special code, 101.

       --trust=repository

       --semitrust=repository

       --untrust=repository
	      Overrides trust settings for a repository. May be specified more
	      than once.

	      The  repository  should be specified using the name of a config‐
	      ured remote, or the UUID or description of a repository.

       --trust-glacier-inventory
	      Amazon Glacier inventories take hours to retrieve, and  may  not
	      represent	 the  current state of a repository. So git-annex does
	      not trust that files that the inventory claims  are  in  Glacier
	      are  really there.  This switch can be used to allow it to trust
	      the inventory.

	      Be careful using this, especially if you or someone  else	 might
	      have  recently  removed  a file from Glacier. If you try to drop
	      the only other copy of the file, and this switch is enabled, you
	      could lose data!

       --backend=name
	      Specifies	 which key-value backend to use. This can be used when
	      adding a file to the annex, or migrating a file. Once files  are
	      in the annex, their backend is known and this option is not nec‐
	      essary.

       --user-agent=value
	      Overrides the User-Agent to use when downloading files from  the
	      web.

       --notify-finish
	      Caused  a	 desktop  notification to be displayed after each suc‐
	      cessful file download and upload.

	      (Only supported on some platforms, e.g. Linux with dbus. A no-op
	      when not supported.)

       --notify-start
	      Caused a desktop notification to be displayed when a file upload
	      or download has started, or when a file is dropped.

       -c name=value
	      Overrides git configuration settings. May be specified  multiple
	      times.

CONFIGURATION VIA .git/config
       Like other git commands, git-annex is configured via .git/config.  Here
       are all the supported configuration settings.

       annex.uuid
	      A unique UUID for this repository (automatically set).

       annex.backends
	      Space-separated list of names of the key-value backends to  use.
	      The first listed is used to store new files by default.

       annex.diskreserve
	      Amount  of  disk	space  to  reserve. Disk space is checked when
	      transferring content to avoid running out, and  additional  free
	      space  can  be  reserved via this option, to make space for more
	      important content (such as git commit logs).  Can	 be  specified
	      with  any commonly used units, for example, "0.5 gb", "500M", or
	      "100 KiloBytes"

	      The default reserve is 1 megabyte.

       annex.largefiles
	      Allows configuring which files git annex add and	the  assistant
	      consider to be large enough to need to be added to the annex. By
	      default, all files are added to the annex.

	      The value is a preferred content expression. See PREFERRED  CON‐
	      TENT for details.

	      Example:

	       annex.largefiles	 =  largerthan=100kb  and  not (include=*.c or
	      include=*.h)

       annex.numcopies
	      This is a deprecated setting. You should	instead	 use  the  git
	      annex  numcopies	command	 to configure how many copies of files
	      are kept across all repositories.

	      This config setting is only looked at when git  annex  numcopies
	      has never been configured.

	      Note that setting numcopies to 0 is very unsafe.

       annex.genmetadata
	      Set  this	 to true to make git-annex automatically generate some
	      metadata when adding files to the repository.

	      In particular, it stores	year  and  month  metadata,  from  the
	      file's modification date.

	      When  importfeed is used, it stores additional metadata from the
	      feed, such as the author, title, etc.

       annex.used-refspec
	      This controls which refs git-annex unused considers to be	 used.
	      See REFSPEC FORMAT in git-annex-unused(1) for details.

       annex.queuesize
	      git-annex	 builds	 a  queue of git commands, in order to combine
	      similar commands for speed. By default the size of the queue  is
	      limited  to 10240 commands; this can be used to change the size.
	      If you have plenty of memory and are  working  with  very	 large
	      numbers of files, increasing the queue size can speed it up.

       annex.bloomcapacity
	      The git annex unused and git annex sync --content commands use a
	      bloom filter to determine what files are present in eg, the work
	      tree.   The default bloom filter is sized to handle up to 500000
	      files. If your  repository  is  larger  than  that,  you	should
	      increase	this  value.  Larger values will make git-annex unused
	      and git annex sync --content consume more memory; run git	 annex
	      info for memory usage numbers.

       annex.bloomaccuracy
	      Adjusts  the  accuracy  of  the  bloom  filter used by git annex
	      unused and git annex sync --content.  The	 default  accuracy  is
	      10000000	-- 1 unused file out of 10000000 will be missed by git
	      annex unused. Increasing the accuracy will make git annex unused
	      consume  more  memory;  run git annex info for memory usage num‐
	      bers.

       annex.sshcaching
	      By default, git-annex caches ssh connections  using  ssh's  Con‐
	      trolMaster  and  ControlPersist  settings	 (if built using a new
	      enough ssh). To disable this, set to false.

       annex.alwayscommit
	      By default, git-annex automatically commits  data	 to  the  git-
	      annex  branch after each command is run. If you have a series of
	      commands that you want to make a single commit, you can run  the
	      commands	with -c annex.alwayscommit=false. You can later commit
	      the data by running git annex merge (or by automatic merges)  or
	      git annex sync.

	      Note that you beware running git gc if using this configuration,
	      since it could garbage collect objects that are staged  in  git-
	      annex's index but not yet committed.

       annex.hardlink
	      Set  this	 to true to make file contents be hard linked into the
	      repository when possible, instead of a more expensive copy.

	      Use with caution --  This	 can  invalidate  numcopies  counting,
	      since  with hard links, fewer copies of a file can exist. So, it
	      is a good idea to	 mark  a  repository  using  this  setting  as
	      untrusted.

	      When  a repository is set up using git clone --shared, git-annex
	      init will automatically set annex.hardlink and mark the  reposi‐
	      tory as untrusted.

       annex.delayadd
	      Makes  the  watch and assistant commands delay for the specified
	      number of seconds before adding a	 newly	created	 file  to  the
	      annex.  Normally	this  is not needed, because they already wait
	      for all writers of the file to close it. On Mac  OSX,  when  not
	      using  direct  mode  this defaults to 1 second, to work around a
	      bad interaction with software there.

       annex.expireunused
	      Controls what the assistant does about unused file contents that
	      are stored in the repository.

	      The  default is false, which causes all old and unused file con‐
	      tents to be retained, unless the assistant is able to move  them
	      to some other repository (such as a backup repository).

	      Can  be set to a time specification, like "7d" or "1m", and then
	      file contents that have been known to be unused for a week or  a
	      month will be deleted.

       annex.fscknudge
	      When  set	 to false, prevents the webapp from reminding you when
	      using repositories that lack consistency checks.

       annex.autoupgrade
	      When set to ask (the default), the webapp	 will  check  for  new
	      versions	and  prompt if they should be upgraded to. When set to
	      true, automatically upgrades without  prompting  (on  some  sup‐
	      ported  platforms).  When	 set  to  false,  disables any upgrade
	      checking.

	      Note that upgrade	 checking  is  only  done  when	 git-annex  is
	      installed from one of the prebuilt images from its website. This
	      does not bypass e.g., a Linux distribution's  own	 upgrade  han‐
	      dling code.

	      This  setting  also  controls  whether  to restart the git-annex
	      assistant when the git-annex binary is detected to have changed.
	      That is useful no matter how you installed git-annex.

       annex.autocommit
	      Set  to  false  to prevent the git-annex assistant and git-annex
	      sync from automatically  committing  changes  to	files  in  the
	      repository.

       annex.startupscan
	      Set  to  false  to prevent the git-annex assistant from scanning
	      the repository for new and changed files on startup.  This  will
	      prevent it from noticing changes that were made while it was not
	      running, but can be a  useful  performance  tweak	 for  a	 large
	      repository.

       annex.listen
	      Configures  which	 address the webapp listens on. The default is
	      localhost.  Can be either an IP  address,	 or  a	hostname  that
	      resolves to the desired address.

       annex.debug
	      Set to true to enable debug logging by default.

       annex.version
	      Automatically  maintained, and used to automate upgrades between
	      versions.

       annex.direct
	      Set to true when the repository is in direct mode. Should not be
	      set  manually;  use  the "git annex direct" and "git annex indi‐
	      rect" commands instead.

       annex.crippledfilesystem
	      Set to true if the repository is on a crippled filesystem,  such
	      as FAT, which does not support symbolic links, or hard links, or
	      unix permissions.	 This is automatically probed  by  "git	 annex
	      init".

       remote.<name>.annex-cost
	      When determining which repository to transfer annexed files from
	      or to, ones with lower costs are preferred.  The default cost is
	      100 for local repositories, and 200 for remote repositories.

       remote.<name>.annex-cost-command
	      If set, the command is run, and the number it outputs is used as
	      the cost.	 This allows varying the cost based on e.g., the  cur‐
	      rent network. The cost-command can be any shell command line.

       remote.<name>.annex-start-command
	      A	 command  to run when git-annex begins to use the remote. This
	      can be used to, for example, mount the directory containing  the
	      remote.

	      The  command  may be run repeatedly when multiple git-annex pro‐
	      cesses are running concurrently.

       remote.<name>.annex-stop-command
	      A command to run when git-annex is done using the remote.

	      The command will only be run once *all* running  git-annex  pro‐
	      cesses are finished using the remote.

       remote.<name>.annex-shell
	      Specify  an alternative git-annex-shell executable on the remote
	      instead of looking for "git-annex-shell" on the PATH.

	      This is useful if the git-annex-shell  program  is  outside  the
	      PATH or has a non-standard name.

       remote.<name>.annex-ignore
	      If set to true, prevents git-annex from storing file contents on
	      this remote by default.  (You can still request it  be  used  by
	      the --from and --to options.)

	      This  is, for example, useful if the remote is located somewhere
	      without git-annex-shell. (For example, if it's on GitHub).   Or,
	      it could be used if the network connection between two reposito‐
	      ries is too slow to be used normally.

	      This does not prevent git-annex sync (or	the  git-annex	assis‐
	      tant) from syncing the git repository to the remote.

       remote.<name>.annex-sync
	      If  set  to  false,  prevents  git-annex sync (and the git-annex
	      assistant) from syncing with this remote.

       remote.<name>.annex-readonly
	      If set to true, prevents git-annex  from	making	changes	 to  a
	      remote.  This both prevents git-annex sync from pushing changes,
	      and prevents storing or removing files from read-only remote.

       remote.<name>.annexUrl
	      Can be  used  to	specify	 a  different  url  than  the  regular
	      remote.<name>.url	 for  git-annex	 to  use when talking with the
	      remote. Similar to the pushUrl used by git-push.

       remote.<name>.annex-uuid
	      git-annex caches UUIDs of remote repositories here.

       remote.<name>.annex-trustlevel
	      Configures a local trust level for the  remote.  This  overrides
	      the  value  configured  by  the  trust and untrust commands. The
	      value can be any of "trusted", "semitrusted" or "untrusted".

       remote.<name>.annex-availability
	      Can be used to tell git-annex whether a remote is	 LocallyAvail‐
	      able  or	GloballyAvailable. Normally, git-annex determines this
	      automatically.

       remote.<name>.annex-bare
	      Can be used to tell git-annex if a remote is a  bare  repository
	      or not. Normally, git-annex determines this automatically.

       remote.<name>.annex-ssh-options
	      Options to use when using ssh to talk to this remote.

       remote.<name>.annex-rsync-options
	      Options  to  use	when  using  rsync to or from this remote. For
	      example, to force IPv6, and limit the bandwidth  to  100Kbyte/s,
	      set it to -6 --bwlimit 100

       remote.<name>.annex-rsync-upload-options
	      Options to use when using rsync to upload a file to a remote.

	      These  options  are passed after other applicable rsync options,
	      so can be used to override them. For example,  to	 limit	upload
	      bandwidth to 10Kbyte/s, set --bwlimit 10.

       remote.<name>.annex-rsync-download-options
	      Options  to  use	when  using  rsync  to	download a file from a
	      remote.

	      These options are passed after other applicable  rsync  options,
	      so can be used to override them.

       remote.<name>.annex-rsync-transport
	      The remote shell to use to connect to the rsync remote. Possible
	      values are ssh (the default) and rsh, together with their	 argu‐
	      ments,  for  instance  ssh  -p  2222  -c blowfish; Note that the
	      remote hostname  should  not  appear  there,  see	 rsync(1)  for
	      details.	 When the transport used is ssh, connections are auto‐
	      matically cached unless annex.sshcaching is unset.

       remote.<name>.annex-bup-split-options
	      Options to pass to  bup  split  when  storing  content  in  this
	      remote.	For example, to limit the bandwidth to 100Kbyte/s, set
	      it to --bwlimit 100k (There is no corresponding option  for  bup
	      join.)

       remote.<name>.annex-gnupg-options
	      Options to pass to GnuPG for symmetric encryption. For instance,
	      to use the AES cipher with a 256 bits key and  disable  compres‐
	      sion,  set  it  to  --cipher-algo	 AES256	 --compress-algo none.
	      (These options take precedence over the default GnuPG configura‐
	      tion, which is otherwise used.)

       annex.ssh-options, annex.rsync-options,
	      annex.rsync-upload-options,	 annex.rsync-download-options,
	      annex.bup-split-options, annex.gnupg-options

	      Default options to use if a remote does not have	more  specific
	      options as described above.

       annex.web-options
	      Options  to  pass	 when  running	wget or curl.  For example, to
	      force IPv4 only, set it to "-4"

       annex.quvi-options
	      Options to pass to quvi when using it to find the url  to	 down‐
	      load for a video.

       annex.aria-torrent-options
	      Options to pass to aria2c when using it to download a torrent.

       annex.http-headers
	      HTTP  headers  to	 send  when downloading from the web. Multiple
	      lines of this option can be set, one per header.

       annex.http-headers-command
	      If set, the command is run and each line of its output  is  used
	      as a HTTP header. This overrides annex.http-headers.

       annex.web-download-command
	      Use to specify a command to run to download a file from the web.
	      (The default is to use wget or curl.)

	      In the command line, %url is replaced with the url to  download,
	      and %file is replaced with the file that it should be saved to.

       annex.secure-erase-command
	      This  can	 be  set to a command that should be run whenever git-
	      annex removes the content of a file from the repository.

	      In the command line, %file is replaced with the file that should
	      be erased.

	      For example, to use the wipe command, set it to wipe -f %file.

       remote.<name>.rsyncurl
	      Used  by	rsync special remotes, this configures the location of
	      the rsync repository to use. Normally this is automatically  set
	      up by git annex initremote, but you can change it if needed.

       remote.<name>.buprepo
	      Used by bup special remotes, this configures the location of the
	      bup repository to use. Normally this is automatically set up  by
	      git annex initremote, but you can change it if needed.

       remote.<name>.ddarrepo
	      Used  by	ddar  special remotes, this configures the location of
	      the ddar repository to use. Normally this is  automatically  set
	      up by git annex initremote, but you can change it if needed.

       remote.<name>.directory
	      Used  by directory special remotes, this configures the location
	      of the directory where annexed files are stored for this remote.
	      Normally	this  is automatically set up by git annex initremote,
	      but you can change it if needed.

       remote.<name>.s3
	      Used to identify Amazon S3 special remotes.   Normally  this  is
	      automatically set up by git annex initremote.

       remote.<name>.glacier
	      Used  to identify Amazon Glacier special remotes.	 Normally this
	      is automatically set up by git annex initremote.

       remote.<name>.webdav
	      Used to identify webdav special remotes.	Normally this is auto‐
	      matically set up by git annex initremote.

       remote.<name>.tahoe
	      Used  to identify tahoe special remotes.	Points to the configu‐
	      ration directory for tahoe.

       remote.<name>.annex-xmppaddress
	      Used to identify the XMPP address of a Jabber  buddy.   Normally
	      this  is	set  up	 by  the git-annex assistant when pairing over
	      XMPP.

       remote.<name>.gcrypt
	      Used to identify gcrypt special remotes.	Normally this is auto‐
	      matically set up by git annex initremote.

	      It  is  set to "true" if this is a gcrypt remote.	 If the gcrypt
	      remote is accessible over ssh and has git-annex-shell  available
	      to manage it, it's set to "shell".

       remote.<name>.hooktype, remote.<name>.externaltype
	      Used  by	hook  special  remotes and external special remotes to
	      record the type of the remote.

       annex.tune.objecthash1, annex.tune.objecthashlower,  annex.tune.branch‐
       hash1
	      These  can  be  passed to git annex init to tune the repository.
	      They cannot be safely changed  in	 a  running  repository.   For
	      details, see <http://git-annex.branchable.com/tuning/>.

CONFIGURATION VIA .gitattributes
       The  key-value  backend used when adding a new file to the annex can be
       configured on a per-file-type basis via .gitattributes  files.  In  the
       file, the annex.backend attribute can be set to the name of the backend
       to use. For example, this  here's  how  to  use	the  WORM  backend  by
       default, but the SHA256E backend for ogg files:

	* annex.backend=WORM
	*.ogg annex.backend=SHA256E

       The  numcopies  setting can also be configured on a per-file-type basis
       via the annex.numcopies attribute in .gitattributes files.  This	 over‐
       rides  other numcopies settings.	 For example, this makes two copies be
       needed for wav files and 3 copies for flac files:

	*.wav annex.numcopies=2
	*.flac annex.numcopies=3

       Note that setting numcopies to 0 is very unsafe.

       These settings are honored by git-annex whenever it's  operating	 on  a
       matching file. However, when using --all, --unused, or --key to specify
       keys to operate on, git-annex is operating on keys and  not  files,  so
       will not honor the settings from .gitattributes.

       Also  note that when using views, only the toplevel .gitattributes file
       is preserved in the view, so other settings in other files  won't  have
       any effect.

EXIT STATUS
       git-annex,  when called as a git subcommand, may return exit codes 0 or
       1 for success or failures, or, more rarely, 127 or 128 for certain very
       specific	 failures.   git-annex itself should return 0 on success and 1
       on failure, unless the --time-limit=time option is hit, in  which  case
       it returns with exit code 101.

FILES
       These files are used by git-annex:

       .git/annex/objects/  in	your  git repository contains the annexed file
       contents that are currently available. Annexed files in your git repos‐
       itory symlink to that content.

       .git/annex/  in your git repository contains other run-time information
       used by git-annex.

       ~/.config/git-annex/autostart is a list of git  repositories  to	 start
       the git-annex assistant in.

       .git/hooks/pre-commit-annex in your git repository will be run whenever
       a commit is made to the HEAD branch, either by  git  commit,  git-annex
       sync, or the git-annex assistant.

       .git/hooks/post-update-annex  in	 your git repository will be run when‐
       ever the git-annex branch is updated. You can make this	hook  run  git
       update-server-info when publishing a git-annex repository by http.

SEE ALSO
       More git-annex documentation is available on its web site, <http://git-
       annex.branchable.com/>

       If git-annex is installed from a package, a copy of  its	 documentation
       should be included, in, for example, /usr/share/doc/git-annex/.

AUTHOR
       Joey Hess <id@joeyh.name>

       <http://git-annex.branchable.com/>

								  git-annex(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net