To create a patch that can be easily checked-in by others make following settings on your computer.
Create .hgrc file in HOME directory (such as "/home/username"), if its not already created. Add following code to it.
[ui]
username=yyyy@xxxxx.zzz
[defaults]
diff = -p -U 8
qdiff = -p -U 8
qnew = -U
[diff]
git=1
showfunc=1
unified=8
[extensions]
mq =
Save file and close it.
To generate a patch on HG (mercurial) repository:
$ hg diff > patchfilename
Discarding all local changes done in the HG (mercurial) repository:
$ hg revert -a
Use Mercurial Queuing extension to generate a patch for checked in:
# setup the patch queue directory (Deprecated in 1.5)
hg qinit
# create a new patch named firstpatch
hg qnew firstpatch
# edit some files
vi filename
# update the patch to contain your changes
hg qrefresh -m "Bug XXXXX - Testing message that goes with patch"
# vi .hg/patches/firstpatch to see the result
# print the current patch to the screen
hg qdiff
# make some more changes
vi filename
# see the differences not yet stored in the patch
hg diff
# update the patch
hg qrefresh
# Look at the patches you have applied
# Look at all the patches in the queue
hg qapplied
hg qseries
# remove the top patch
hg qpop
# apply the patch again
hg qpush
# remove all patches
hg qpop -a
# apply all patches
hg qpush -a
# Output all applied patches as a single patch
hg diff -r qparent:qtip
# update the commit message on a patch
hg qrefresh -m "New Message"
# Convert all applied patches into permanent changesets
hg qfinish -a
Patch to Upload on Bugzilla:
It is available in the following folder location:
/your_repository_folder/.hg/patches/
Or you can also use following command ot generate a patch to upload:
hg export qtip > path_to_temp_patches/patchFileName.patch
Create .hgrc file in HOME directory (such as "/home/username"), if its not already created. Add following code to it.
[ui]
username=yyyy@xxxxx.zzz
[defaults]
diff = -p -U 8
qdiff = -p -U 8
qnew = -U
[diff]
git=1
showfunc=1
unified=8
[extensions]
mq =
Save file and close it.
To generate a patch on HG (mercurial) repository:
$ hg diff > patchfilename
Discarding all local changes done in the HG (mercurial) repository:
$ hg revert -a
Use Mercurial Queuing extension to generate a patch for checked in:
# setup the patch queue directory (Deprecated in 1.5)
hg qinit
# create a new patch named firstpatch
hg qnew firstpatch
# edit some files
vi filename
# update the patch to contain your changes
hg qrefresh -m "Bug XXXXX - Testing message that goes with patch"
# vi .hg/patches/firstpatch to see the result
# print the current patch to the screen
hg qdiff
# make some more changes
vi filename
# see the differences not yet stored in the patch
hg diff
# update the patch
hg qrefresh
# Look at the patches you have applied
# Look at all the patches in the queue
hg qapplied
hg qseries
# remove the top patch
hg qpop
# apply the patch again
hg qpush
# remove all patches
hg qpop -a
# apply all patches
hg qpush -a
# Output all applied patches as a single patch
hg diff -r qparent:qtip
# update the commit message on a patch
hg qrefresh -m "New Message"
# Convert all applied patches into permanent changesets
hg qfinish -a
Patch to Upload on Bugzilla:
It is available in the following folder location:
/your_repository_folder/.hg/patches/
Or you can also use following command ot generate a patch to upload:
hg export qtip > path_to_temp_patches/patchFileName.patch
This is great!
ReplyDelete