= git-darcs(1) == NAME git-darcs - a bidirectional git - darcs gateway == SYNOPSIS git-darcs == DESCRIPTION git darcs can convert a darcs repo to a git one, can update such an existing git repo later, and finally can push back your changes from the git repo to the darcs one. A typical workflow is: ---- $ mkdir git-repo $ cd git-repo $ git init $ git darcs add upstream /path/to/darcs-repo $ git darcs pull upstream ... hack, hack, hack ... $ git darcs push upstream ---- == GLOBAL OPTIONS -h, --help:: Display usage. == COMMANDS The supported commands are the followings: add:: This can register a new darcs repo in the git one, so that you can fetch from it. The syntax is `add nick path [dfe-options]`. Add any options you want to be passed to darcs-fast-export, like --encoding=utf-8, or --authors-file AUTHORMAP. Remember that if AUTHORMAP is not absolute, it will be interpreted relative to the git repository's root directory. push:: Transfers your changes created in the current branch back the darcs one. The syntax is `push nick`. fetch:: Downloads changes from the darcs repo and updates the `darcs/` branch. None of your local branches are updated. pull:: Calls `fetch` then `git merge` or `git rebase` based on the `branch..rebase` configuration setting, where `` is the current branch. The default is - just like with `git pull` - is to `git merge`. list:: List the name [and location] of each registered darcs repo. The syntax is `list [-v|--verbose]`. find-darcs:: Searches for darcs patches matching a SHA1 prefix. The syntax is `find-darcs `. find-git:: Searches for git commits matching a darcs patch prefix. The syntax is `find-git `. == HOOKS It's possible to automatically run before and after the fetch and the push subcommand. For example if you want to automatically run `darcs pull -a` before a `git darcs fetch upstream`: ---- git config git-darcs.upstream.pre-fetch "darcs pull -a --repodir=/path/to/darcs-repo" ---- Or in case you want to automatically `darcs send` all patches after a `git darcs push upstream`: ---- git config git-darcs.upstream.post-push "darcs send -a --repodir=/path/to/darcs-repo" ---- == SEE-ALSO *git*(1), *darcs*(1)