mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
30621bccda
These options make qnew add and qrefresh update a "# Date "-style header line. This allows proper recording of creation / last modification dates of patches in patch queues. Note that `qrefresh -D` only updates existing header lines. It never adds them, and does not warn about this. This is because I expect people to have `[default] qrefresh -D` in their .hgrc so patches with tracked dates get updated, others are left unchanged. The suggested setup in .hgrc is, in fact, [default] qnew = -D -U qrefresh = -D I tried to not mix header styles, so `qnew -D -U` now writes the user in "# User "-style, while `qnew -U` still writes it "From: "-style. Also, if `qrefresh -U` must add the user, it does so in "# User "-style if the header contains a "# HG changeset patch" line. (This is caused by mq not supporting the "Date: "-style header line at all - a reasonable choice given its standard date format.)
179 lines
2.1 KiB
Bash
Executable File
179 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
echo "mq=" >> $HGRCPATH
|
|
echo "[diff]" >> $HGRCPATH
|
|
echo "nodates=true" >> $HGRCPATH
|
|
|
|
|
|
catpatch() {
|
|
cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /"
|
|
}
|
|
|
|
catlog() {
|
|
catpatch $1
|
|
hg log --template "{rev}: {desc} - {author}\n"
|
|
}
|
|
|
|
catlogd() {
|
|
catpatch $1
|
|
hg log --template "{rev}: {desc} - {author} - {date}\n"
|
|
}
|
|
|
|
drop() {
|
|
hg qpop
|
|
hg qdel $1.patch
|
|
}
|
|
|
|
|
|
echo ==== init
|
|
hg init a
|
|
cd a
|
|
hg qinit
|
|
|
|
|
|
echo ==== qnew -d
|
|
hg qnew -d '3 0' 1.patch
|
|
catlogd 1
|
|
|
|
echo ==== qref
|
|
echo "1" >1
|
|
hg add
|
|
hg qref
|
|
catlogd 1
|
|
|
|
echo ==== qref -d
|
|
hg qref -d '4 0'
|
|
catlogd 1
|
|
|
|
|
|
echo ==== qnew
|
|
hg qnew 2.patch
|
|
echo "2" >2
|
|
hg add
|
|
hg qref
|
|
catlog 2
|
|
|
|
echo ==== qref -d
|
|
hg qref -d '5 0'
|
|
catlog 2
|
|
|
|
drop 2
|
|
|
|
|
|
echo ==== qnew -d -m
|
|
hg qnew -d '6 0' -m "Three" 3.patch
|
|
catlogd 3
|
|
|
|
echo ==== qref
|
|
echo "3" >3
|
|
hg add
|
|
hg qref
|
|
catlogd 3
|
|
|
|
echo ==== qref -m
|
|
hg qref -m "Drei"
|
|
catlogd 3
|
|
|
|
echo ==== qref -d
|
|
hg qref -d '7 0'
|
|
catlogd 3
|
|
|
|
echo ==== qref -d -m
|
|
hg qref -d '8 0' -m "Three (again)"
|
|
catlogd 3
|
|
|
|
|
|
echo ==== qnew -m
|
|
hg qnew -m "Four" 4.patch
|
|
echo "4" >4
|
|
hg add
|
|
hg qref
|
|
catlog 4
|
|
|
|
echo ==== qref -d
|
|
hg qref -d '9 0'
|
|
catlog 4
|
|
|
|
drop 4
|
|
|
|
|
|
echo ==== qnew with HG header
|
|
hg qnew 5.patch
|
|
hg qpop
|
|
echo "# HG changeset patch" >>.hg/patches/5.patch
|
|
echo "# Date 10 0" >>.hg/patches/5.patch
|
|
# Drop patch specific error line
|
|
hg qpush 2>&1 | grep -v garbage
|
|
catlogd 5
|
|
|
|
echo ==== hg qref
|
|
echo "5" >5
|
|
hg add
|
|
hg qref
|
|
catlogd 5
|
|
|
|
echo ==== hg qref -d
|
|
hg qref -d '11 0'
|
|
catlogd 5
|
|
|
|
|
|
echo ==== qnew -u
|
|
hg qnew -u jane 6.patch
|
|
echo "6" >6
|
|
hg add
|
|
hg qref
|
|
catlog 6
|
|
|
|
echo ==== qref -d
|
|
hg qref -d '12 0'
|
|
catlog 6
|
|
|
|
drop 6
|
|
|
|
|
|
echo ==== qnew -d
|
|
hg qnew -d '13 0' 7.patch
|
|
echo "7" >7
|
|
hg add
|
|
hg qref
|
|
catlog 7
|
|
|
|
echo ==== qref -u
|
|
hg qref -u john
|
|
catlogd 7
|
|
|
|
|
|
echo ==== qnew
|
|
hg qnew 8.patch
|
|
echo "8" >8
|
|
hg add
|
|
hg qref
|
|
catlog 8
|
|
|
|
echo ==== qref -u -d
|
|
hg qref -u john -d '14 0'
|
|
catlog 8
|
|
|
|
drop 8
|
|
|
|
|
|
echo ==== qnew -m
|
|
hg qnew -m "Nine" 9.patch
|
|
echo "9" >9
|
|
hg add
|
|
hg qref
|
|
catlog 9
|
|
|
|
echo ==== qref -u -d
|
|
hg qref -u john -d '15 0'
|
|
catlog 9
|
|
|
|
drop 9
|
|
|
|
|
|
echo ==== "qpop -a / qpush -a"
|
|
hg qpop -a
|
|
hg qpush -a
|
|
hg log --template "{rev}: {desc} - {author} - {date}\n"
|