Changes between Version 9 and Version 10 of Phabricator


Ignore:
Timestamp:
Jul 16, 2019, 7:24:49 PM (5 years ago)
Author:
Krinkle
Comment:

Document workaround for arcanist not working with the git mirror

Legend:

Unmodified
Added
Removed
Modified
  • Phabricator

    v9 v10  
    4444Take a look at the [wiki:Phabricator#CommonproblemswithArcanist Common problems with Arcanist] section below if you have any trouble.
    4545
     46=== Configura Arcanist ===
    4647Finally, associate arc with your credentials with our Phabricator instance by using
    4748{{{#!sh
     
    4950}}}
    5051
    51 Two commands are important, that you can run at the root of a SVN clone (where .arcconfig is):
     52=== Download a patch ===
     53To download a patch from Phabricator using Arcanist, run the following command from the root of a local SVN clone (where .arcconfig is):
    5254
    5355{{{#!sh
    5456arc patch Dn
    5557}}}
    56 applies the revision Dn (n being an integer) to your working copy. No need to download and apply, easy to update when a contributor updates a revision with a new diff, and more...
     58
     59This will apply the latest diff from a revision Dn (`n` being an integer) to your working copy.
     60
     61If you use a Git-based mirror (such as <https://github.com/0ad/0ad>), this may fail because Arcanist demands to find the latest SVN revision in the git-log which might not be mirrored yet. It does this slowly searching the full git history for a commit message containing `git-svn-id: @{latest-revision}`, which it will then never find. (Upstream issue: <https://secure.phabricator.com/T9044>). The `--force` and `--skip-dependencies` options do not prevent this issue. To workaround this, use `arc patch --patch /file/to.diff` instead, like so (the download url can be copied from the "Download Raw Diff" link in the web interface):
     62
     63{{{#!sh
     64curl -L 'https://code.wildfiregames.com/D1991?download=true' > /tmp/arc.patch
     65arc patch --patch /tmp/arc.patch
     66}}}
     67
     68
     69=== Upload a patch ===
    5770
    5871{{{#!sh
     
    6174creates a diff from your working copy and uploads it to Phabricator. When following the given link, you will be able to create a new revision or update an existing one with the new code change.
    6275
    63 Always create diffs from a clone to the public SVN. Since Phabricator tracks the public repo, if you create diffs from a clone of the commit-access one, paths won't match.
     76If you're a team member with commit access, always create diffs from a clone of the public SVN. Since Phabricator tracks the public repo, if you create diffs from a clone of the commit-access one, the paths won't match.
    6477
    6578=== Manually uploading a patch ===