Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GIT-ARC(1)		    General Commands Manual		    GIT-ARC(1)

NAME
       git arc -- a wrapper to improve integration between git and arcanist

SYNOPSIS
       git	create	    [-l]      [-r      reviewer1[,reviewer2	 ...]]
	   [-s	    subscriber1[,subscriber2	  ...]]	     [-p       parent]
	   [commit ...|commit-range]
       git list	commit ...|commit-range
       git patch diff1[,diff2]
       git stage [-b branch] [commit ...|commit-range]
       git update [-m message] [commit ...|commit-range]

DESCRIPTION
       The  git	 utility creates and manages FreeBSD Phabricator reviews based
       on git commits.

       Git assumes a one-to-one	relationship between git commits and Differen-
       tial Revisions, and the Differential Revision title must	match the sum-
       mary line of the	corresponding commit.  In particular, the commit  sum-
       maries  must  be	unique across all open Differential Revisions authored
       by the submitter.

       The first parameter must	be a verb.  The	available verbs	are:

       create  Create new Differential Revisions from the  specified  commits.
	       Accepts options:

	       -l	   Before processing commit(s) display list of commits
			   to be processed and wait for	confirmation.

	       -r reviewer
			   Add	one or more reviewers, separated by commas, to
			   revision(s) being created.  Argument(s) must	be ex-
			   isting Phabricator user or group.

	       -s subscriber
			   Add one or more subscribers,	separated  by  commas,
			   to  revision(s)  being created.  Each argument must
			   be an existing Phabricator user or group.

	       -p parent   Specify the parent of the first commit in the list.
			   This	is useful when adding more commits on  top  of
			   the already existing	stack in Phabricator.

       list    Print  the  associated Differential Revisions for the specified
	       commits.

       patch   Try to apply a patch from a Differential	Revision to  the  cur-
	       rently checked out tree.

       stage   Prepare	a  series  of  commits	to  be	pushed to the upstream
	       FreeBSD repository.  The	commits	are cherry-picked to a	branch
	       (by  default  the  "main" branch), review tags are added	to the
	       commit log message, and the log message is opened in an	editor
	       for any last-minute updates.  The commits need not have associ-
	       ated Differential Revisions.

       update  Synchronize  the	 Differential  Revisions  associated  with the
	       specified commits.  Currently only the diff is updated; the re-
	       view description	and other metadata are not synchronized.  If a
	       message is specified with -m, that message is added as  a  note
	       to  the	Differential Revision.	If no message is supplied, the
	       user's editor will be opened to provide an update  message  for
	       each revision.  If an empty message is supplied via -m, then no
	       notes will be added when	updating Differential Revisions.

CONFIGURATION
       These are manipulated by	git-config:

       arc.assume_yes  Assume a	"yes" answer to	all prompts instead of prompt-
		       ing  the	user.  Equivalent to the -y flag.  Defaults to
		       false.

       arc.browse      Try to open newly created reviews  in  a	 browser  tab.
		       Defaults	to false.

       arc.list	       Always use "list	mode" (-l) with	create.	 In this mode,
		       the  list  of  git  revisions  to create	reviews	for is
		       listed with a single prompt  before  creating  reviews.
		       The  diffs  for	individual commits are not shown.  De-
		       faults to false.

       arc.verbose     Always use verbose output.  Equivalent to the -v	 flag.
		       Defaults	to false.

EXAMPLES
       The typical end-to-end usage looks something like this.

       Commit changes with a message and create	a Differential Review:

	     $ git commit -m "kern: Rewrite in Rust"
	     $ git arc create HEAD

       Make  changes  to  the  diff  based  on review feedback,	then amend the
       changes to the existing commit and update the Differential Review:

	     $ git commit --amend
	     $ git arc update HEAD

       Now that	all reviewers are happy, it is time to stage  the  commit  and
       push it:

	     $ git arc stage HEAD
	     $ git push	freebsd	HEAD:main

       Create  a Phabricator review using the contents of the most recent com-
       mit in your git checkout:

	     $ git arc create -r markj HEAD

       The commit title	is used	as the review title, the commit	log message is
       used as the review description, and <markj@FreeBSD.org> is added	 as  a
       reviewer.

       Create  a  series  of Phabricator reviews for each of HEAD~2, HEAD~ and
       HEAD:

	     $ git arc create HEAD~3..HEAD

       Pairs of	consecutive commits are	linked into a patch stack.  Note  that
       the first commit	in the specified range is excluded.

       Create a	series of separate reviews for each of the following commits:

	     $ git arc create b409afcfedcdda ca03ed1345aff0

       Update the review corresponding to commit b409afcfedcdda:

	     $ git arc update b409afcfedcdda

       The  title of the commit	must be	the same as it was when	the review was
       created.	 Note that the review description  is  not  automatically  up-
       dated.

       Apply the patch in review D12345	to the currently checked-out tree, and
       stage it:

	     $ git arc patch D12345

       List the	status of reviews for all the commits in the branch "feature":

	     $ git arc list main..feature

SEE ALSO
       build(7), development(7)

HISTORY
       The git utility appeared	in the src tools collection in FreeBSD 14.0.

AUTHORS
       The  git	 utility  was written by Mark Johnston <markj@FreeBSD.org> and
       the   manual   page   was   written    by    Daniel    Ebdrup	Jensen
       <debdrup@FreeBSD.org>.

FreeBSD	13.2			  May 5, 2023			    GIT-ARC(1)

NAME | SYNOPSIS | DESCRIPTION | CONFIGURATION | EXAMPLES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=git-arc&sektion=1&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help