Page MenuHomeFreeBSD

D56664.id176660.diff
No OneTemporary

D56664.id176660.diff

diff --git a/tools/tools/git/git-arc.1 b/tools/tools/git/git-arc.1
--- a/tools/tools/git/git-arc.1
+++ b/tools/tools/git/git-arc.1
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd February 10, 2026
+.Dd April 27, 2026
.Dt GIT-ARC 1
.Os
.Sh NAME
@@ -33,7 +33,7 @@
.Sh SYNOPSIS
.Nm
.Cm create
-.Op Fl l
+.Op Fl dl
.Op Fl r Ar reviewer1 Ns Op Cm \&, Ns Ar reviewer2 ...
.Op Fl s Ar subscriber1 Ns Op Cm \&, Ns Ar subscriber2 ...
.Op Fl p Ar parent
@@ -95,6 +95,12 @@
Create new Differential Revisions from the specified commits.
Accepts options:
.Bl -tag -width "-s subscriber"
+.It Fl d
+Create the diff as a draft.
+In this mode, notifications are not sent to reviewers and subscribers
+until the review is published via the web UI.
+The draft is still visible to anyone with the URL (or able to guess it),
+but the review's visibility settings can be modified before publishing.
.It Fl l
Before processing commit(s) display list of commits to be processed
and wait for confirmation.
diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh
--- a/tools/tools/git/git-arc.sh
+++ b/tools/tools/git/git-arc.sh
@@ -234,7 +234,7 @@
create_one_review()
{
- local childphid commit doprompt msg parent parentphid reviewers
+ local childphid commit doprompt draft msg parent parentphid reviewers
local subscribers
commit=$1
@@ -242,11 +242,18 @@
subscribers=$3
parent=$4
doprompt=$5
+ draft=$6
if [ "$doprompt" ] && ! show_and_prompt "$commit"; then
return 1
fi
+ if [ "$draft" -eq 1 ]; then
+ draft=--draft
+ else
+ unset draft
+ fi
+
msg=$(xmktemp)
git show -s --format='%B' "$commit" > "$msg"
printf "\nTest Plan:\n" >> "$msg"
@@ -257,7 +264,7 @@
yes | EDITOR=true \
arc diff --message-file "$msg" --never-apply-patches --create \
- --allow-untracked $BROWSE --head "$commit" "${commit}~"
+ --allow-untracked $draft $BROWSE --head "$commit" "${commit}~"
[ $? -eq 0 ] || err "could not create Phabricator diff"
if [ -n "$parent" ]; then
@@ -351,7 +358,7 @@
gitarc__create()
{
- local commit commits doprompt list o prev reviewers subscribers
+ local commit commits doprompt draft list o prev reviewers subscribers
list=
prev=""
@@ -359,8 +366,12 @@
list=1
fi
doprompt=1
- while getopts lp:r:s: o; do
+ draft=0
+ while getopts dlp:r:s: o; do
case "$o" in
+ d)
+ draft=1
+ ;;
l)
list=1
;;
@@ -394,7 +405,7 @@
for commit in ${commits}; do
if create_one_review "$commit" "$reviewers" "$subscribers" "$prev" \
- "$doprompt"; then
+ "$doprompt" "$draft"; then
prev=$(commit2diff "$commit")
else
prev=""

File Metadata

Mime Type
text/plain
Expires
Fri, May 1, 2:47 PM (19 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32581690
Default Alt Text
D56664.id176660.diff (2 KB)

Event Timeline