Commit Graph

3657 Commits

Author SHA1 Message Date
Brendan Cully
af61c60015 Add command qheader to display the header of a given patch. 2006-07-31 18:39:31 -07:00
Brendan Cully
8d18dc1a62 Add option -e/--edit to qrefresh, to edit the existing header. 2006-07-31 17:55:43 -07:00
Brendan Cully
c05a6aafc0 Change patch header as well as commit message with qrefresh -m or -l. 2006-07-31 18:47:43 -07:00
Brendan Cully
0dab08cb0c Remove pointless reposetup hook from hgk.py 2006-08-01 02:23:05 -07:00
Alexis S. L. Carvalho
eb9aa4b11b mq: correct the use of super
The first argument passed to super is supposed to be the class where
it's being used, not self.__class__ - the two can be different when
there's inheritance involved.
2006-07-31 14:22:17 -03:00
Vadim Gelfer
c39398b49b merge with mpm. 2006-07-30 22:52:34 -07:00
Matt Mackall
fb73e75b58 Kill ui.setconfig_remoteopts
This brought too much knowledge about command line particulars into
the ui code. Moved to commands.py.
2006-07-31 00:47:43 -05:00
Vadim Gelfer
8113ef1e80 mq: allow to apply patches in subdir of repo again
i broke it in d752547f000a.
2006-07-29 11:05:39 -07:00
Alexis S. L. Carvalho
0430d76b15 hbisect.py: don't rely on __del__ to write the current state.
This is yet another page of the "Thou shalt not do too much inside
__del__ methods" book, in the "demandload and __del__ don't go well
together" chapter.

The bisect extension is broken in 0.9.1:

$ hg bisect init
$ hg bisect bad
Fatal Python error: Interpreter not initialized (version mismatch?)
Aborted

(yes, I tripled checked my instalation to make sure the problem is not
there)

It's been broken since revision 35b6c1ed51fd moved the import of the
binascii module into a demandload.

(In details: the first time that "hg bisect bad" (or good) is called,
there are still no revisions saved in .hg/bisect/*, so bisect.__init__
doesn't call hg.bin on anything.  So, when we reach __del__, the
binascii module still hasn't been imported and we get that "nice"
message above.)
2006-07-28 21:20:41 -03:00
Christian Ebert
4f7c14a605 patchbomb: do not write Bcc 2006-07-29 10:27:54 +02:00
Vadim Gelfer
090f26bfb5 mq: update to handle repomap not longer used 2006-07-28 14:31:20 -07:00
Brendan Cully
fa56cc4df5 mq: replace module-wide repo hash with a repo attribute 2006-07-28 13:08:25 -07:00
Brendan Cully
09698d36ee mq: do not hold a reference to repo in tags override
Instead, replace repo's class object with a subclass.
2006-07-28 13:08:21 -07:00
Christian Ebert
341a9cc179 patchbomb: fix generation of message-id when sending attachments
node was set to bin(node) before message-id was created
2006-07-28 22:17:32 +02:00
Vadim Gelfer
9f04cf77e6 mq: add qclone command 2006-07-28 10:46:41 -07:00
Vadim Gelfer
7505745e16 mq: fix queue.apply to not call os.chdir()
call to os.chdir broke "hg -R dirname qpush".
instead pass -d (change directory) option to patch command.
2006-07-27 18:24:59 -07:00
Vadim Gelfer
c75d013f82 mq: move many error messages to util.Abort 2006-07-27 16:41:59 -07:00
Vadim Gelfer
95c056a904 mq: do not allow to qnew a patch twice 2006-07-27 16:08:56 -07:00
Vadim Gelfer
2fec671b08 patchbomb: add content-disposition to make display inline and add filename
if rev being emailed has tag that ends in .patch or .diff then use that as
filename. else make up filename from name of repo.
2006-07-27 15:19:58 -07:00
Christian Ebert
64ba2370e6 patchbomb: optionally send patches as inline attachments 2006-07-27 22:28:03 +02:00
Vadim Gelfer
be51fbc3c0 merge with crew. 2006-07-27 12:36:17 -07:00
Christian Ebert
40b4014496 make introductory message of patch series text/plain 2006-07-27 21:25:39 +02:00
Chris Mason
5a55931f23 mq: strip should not blow away local changes
This changes the mq strip command to abort if there are any changes in
the working directory.
2006-07-27 09:27:45 -07:00
Chris Mason
efeb029828 mq: fix qnew and qimport to deal with series file comments
qnew and qimport did not take comments into account when deciding where
to place new patches in the series file.
2006-07-27 09:27:42 -07:00
Chris Mason
d6e27326d7 mq: qpop should act like quilt pop
qpop patchname would pop the named patch off the stack.  This is slightly
different from how quilt pop works.  quilt pop pops everything up to the
named patch.
2006-07-27 09:27:39 -07:00
Chris Mason
0567a3c508 mq: patch naming shortcuts
This adds some more options to the mq lookup routine.  It allows
you to use shortcuts in naming patches to push or pop.  You
can now use:

1) a full patch name
2) a number to indicate an offset in the series file
3) a unique substring of the patch name
4) patchname[-+]num to indicate an offset from a given patch.

For case #3 substrings are allowed.  qtip and qbase are aliases for
the top and bottom of the applied patch queue, unless they are already
in the series file as patch names.
2006-07-27 09:27:35 -07:00
Mathieu Clabaut ext:(%22)
f056efd753 MQ: uniformise message and logfile option.
Possibility to change message in qrefresh option
2006-07-26 20:11:54 +02:00
Brendan Cully
e5bea098db Add mq patch names to tagscache instead of overriding lookup.
This makes mq patch names visible in hg log and hg tags. It also
resolves the names only once, rather than on every lookup.
2006-07-26 12:22:04 -07:00
Christian Ebert
6dda35f7a7 optionally send blind carbon copies
Bcc recipients may be set via long `--bcc' or hgrc only, no prompt.
2006-07-26 14:39:33 +02:00
Mathieu Clabaut ext:(%22)
0bf956044f mq: uniform verbose display of patche[s].
In verbose mode, display:
   "index patchname" for unapplied patches
   "index cset:patchnames" for applied patches
   "index status patchname" in the serie listing.
2006-07-26 01:03:33 +02:00
Mathieu Clabaut ext:(%22)
5754e8f808 extdiff : add comment on how to use vim for doing directoy diff 2006-07-25 23:10:11 +02:00
Brendan Cully
7a70e197ba Add qtip and qbase to mq qlookup. 2006-07-20 11:52:28 -07:00
Brendan Cully
e73d6c3e4d Mq: modify repo.lookup to resolve applied patches too. 2006-07-20 11:52:28 -07:00
Vadim Gelfer
eef60e2c8d help: add help to mq extension 2006-07-03 14:30:38 -07:00
Thomas Arendsen Hein
703b773cf0 Merge with crew. 2006-06-30 22:09:43 +02:00
Thomas Arendsen Hein
d17f2a589b Merge with crew. 2006-06-30 21:35:28 +02:00
Brendan Cully
e07fd10605 hgk: Don't choke on empty changelogs 2006-06-30 21:35:22 +02:00
Chris Mason
f6facbf17c mq: fix qparents to return the correct parent when no patches are applied 2006-06-27 10:49:46 -04:00
Chris Mason
26fe10a876 mq: hg qnew -f should refresh the new patch
qnew -f was originally meant to just skip the localchanges check.
But, it currently discards the local changes, which is not at all what
people expect.

This patch changes qnew -f to create the new patch and then
run hg qrefresh on it.  The local changes will be in the new
patch.
2006-06-27 11:23:06 -04:00
Thomas Arendsen Hein
d7742cf972 mq: Added help for qcommit, consistently talk about queue repository. 2006-06-28 08:56:01 +02:00
Vadim Gelfer
d49fb207db mq: add qimported patches if patch dir is a repo 2006-06-23 12:52:42 -07:00
Volker Kleinfeld
76de44d843 patchbomb does not handle email time stamp plattform independent 2006-06-16 07:07:11 -07:00
Vadim Gelfer
844d833844 move hgk.py into hgext. now to enable "hg view" is one less step.
edit ~/.hgrc:

[extensions]
hgext.hgk =

cp contrib/hgk ~/bin
2006-06-14 15:41:06 -07:00
Vadim Gelfer
bd8276a666 move purge extension out of hgext.
it is not as clean as other modules in hgext.
can move back after rewrite.
2006-06-04 17:08:02 -07:00
Thomas Arendsen Hein
48565af0dc Make indentation of purge's cmdtable match to mercurial/commands.py 2006-06-02 00:33:42 +02:00
Thomas Arendsen Hein
dbe2eb1f66 Rewritten install instructions for hg-purge to match new situation, fixed typos. 2006-06-02 00:28:28 +02:00
Thomas Arendsen Hein
bb2919687f Merged hg-purge 2006-06-01 23:58:43 +02:00
Thomas Arendsen Hein
927486279d Reorganized files in hg-purge repo to push them into Mercurial.
README -> hgext/purge/README
purge.py -> hgext/purge/__init__.py
removed COPYING.GPL and .hgignore (already in the Mercurial repo)
2006-06-01 23:58:06 +02:00
Benoit Boissinot
4d70fafe0d better ui for the bisect extension
(and update to i18n)
2006-05-26 22:17:43 +02:00
Vadim Gelfer
e684399d7c add acl extension, to limit who can push to subdirs of central repo. 2006-05-23 14:58:30 -07:00
Daniel Santa Cruz ext:(%22)
3232a6998e Minor typo change to reflect actual values used. 2006-05-22 12:17:44 -04:00
Vadim Gelfer
34b7a0d83b merge with crew. 2006-05-21 23:39:25 -07:00
Vadim Gelfer
38e7119eca new extension: extdiff. allows to use external diff program. 2006-05-21 23:39:07 -07:00
Vadim Gelfer
10c73bbd93 notify: add debug output. do not fail if no config file.
use --debug to see debug output.
2006-05-20 12:52:02 -07:00
Vadim Gelfer
be9056ad56 notify: fix off by one error. 2006-05-19 14:57:45 -07:00
Vadim Gelfer
25b53cf653 bugzilla: allow to map between committer email and bugzilla user name. 2006-05-18 09:23:43 -07:00
Thomas Arendsen Hein
914957ee60 Removed extra space in bisect output. 2006-05-18 08:03:51 +02:00
Thomas Arendsen Hein
be0ce7238f Strip empty lines and trailing spaces around commit messages.
Fixes issue213 and part of issue249 (trying to keep node id on import)
2006-05-17 19:38:41 +02:00
Thomas Arendsen Hein
be2a7bb68c Use "# Date" instead of "# Timestamp" for dated export/import of patches.
And don't break up list for % formatting.
2006-05-17 19:00:16 +02:00
Danek Duvall
2a19fd683a Add timestamp field to export format. Make import and mq use it. 2006-05-17 18:54:30 +02:00
Aurelien Jacobs ext:(%22)
b68ea13e18 notify changeset diff should be against current node instead of tip 2006-05-16 14:17:45 -07:00
Vadim Gelfer
de0a3b422b allow to send email using sendmail.
default is still smtp.
update hgrc doc with sendmail info.
2006-05-15 10:25:17 -07:00
Danek Duvall
9b6197b107 Fix issue240: mq: qpush fails on Solaris 2006-05-11 18:24:58 -07:00
Vadim Gelfer
42391c45d8 bugzilla hook: skip empty groups. 2006-05-09 14:39:56 -07:00
Thomas Arendsen Hein
ce9a04e13f gpg extension: Always remove temporary files created by 'hg sigcheck'. 2006-05-09 13:26:16 +02:00
Vadim Gelfer
990eecd90f localrepository.addchangegroup: add more source infos to hooks 2006-05-08 16:50:27 -07:00
Vadim Gelfer
8ea7dbe8d0 notify: add 'to' header to message. 2006-05-08 12:27:30 -07:00
Vadim Gelfer
a82c03a7e0 notify extension: generate right number of diffs 2006-05-08 11:16:09 -07:00
Vadim Gelfer
41eb4e2c6e reverse sense of return value from python hooks.
old scheme (False/None/0/'' == fail) made coding style
unnatural, did not allow use of mercurial commands as hooks.

new scheme (False/None/0 == pass) is pythonic, does not require peculiar
"return True" at ends of hooks, allows hooks like this:

[hooks]
# update working dir after push into this repo
changegroup.update = python:mercurial.commands.update
2006-05-08 10:59:58 -07:00
Vadim Gelfer
dd7442a4f4 merge with crew. 2006-05-08 08:04:46 -07:00
Vadim Gelfer
ef1e3759c2 add email notification hook. hook written in python.
email headers and body can be customized using template code.
2006-05-04 15:07:35 -07:00
Bryan O'Sullivan
f8888fa454 patch queue: notify.patch 2006-05-04 12:25:10 -07:00
Vadim Gelfer
f906ed16e7 move mail sending code into core, so extensions can share it.
document hgrc settings used.
2006-05-04 12:23:01 -07:00
Vadim Gelfer
c40534f466 move stringio class from bugzilla extension into templater module. 2006-05-04 12:02:32 -07:00
Vadim Gelfer
7ff45befff rename [patchbomb] section to [email] section in hgrc. old name still ok. 2006-05-04 12:00:45 -07:00
Vadim Gelfer
901f2c1543 define standard name for base url to use when printing hgweb urls.
useful for bugzilla integration, email notifications, other stuffs.
2006-05-04 11:32:00 -07:00
Vadim Gelfer
de8fc55e1f only import mysql module if hook used. 2006-05-03 14:56:07 -07:00
Vadim Gelfer
747e07d661 add bugzilla integration hook. example of writing hook in python.
hook updates bugzilla bugs when it sees commit comments that mention
bug id, such as "i fixed bug 77".

only bugzilla 2.16 supported yet, but easy to extend. bugzilla versions
have different schema, i have not used later than 2.16.
2006-05-03 14:40:39 -07:00
Thomas Arendsen Hein
412719cc68 Better help for mq: Corrected synopses, get qcommit options from commands.py. 2006-05-03 11:57:14 +02:00
Thomas Arendsen Hein
092be2daa9 Use better names (hg-{usage}-{random}.{suffix}) for temporary files. 2006-04-30 21:11:22 +02:00
Alexis S. L. Carvalho
2995553eee Fix hg qdiff <file> 2006-04-19 11:41:27 -07:00
Vadim Gelfer
fba6f04a5f mq: do not fail if directory to create exists 2006-04-18 14:56:54 -07:00
Edouard Gomez
f6c00cf208 Register qversion as a non repository related command 2006-04-04 16:35:20 -07:00
Vadim Gelfer
e08da24689 patchbomb: ignore exception if pager quits. 2006-03-09 16:26:49 -08:00
Thomas Arendsen Hein
c6c1b2a975 Removed script header from mq.py 2006-03-08 19:31:54 +01:00
Thomas Arendsen Hein
c8d9d88df5 Moved bisect extension to hgext folder. 2006-03-08 19:30:30 +01:00
Thomas Arendsen Hein
c2f8042cfe Fix mq's usage of opener, which don't allow absolute paths now. 2006-03-07 22:41:24 +01:00
Vadim Gelfer
316fdadb4c only put numbers on patches if > 1 patch. 2006-03-06 21:06:53 -08:00
Lee Cantey
72700213c5 Patchbomb only sends introductory message [0 of N] if there are multiple patches. 2006-03-06 21:05:18 -08:00
Thomas Arendsen Hein
ed3a95a497 Create local ui object per repository, so .hg/hgrc don't get mixed.
This is needed for hooks, but may be important for other settings, too.
Fixes issue113, also integrated push-hook-lock.sh as a test case for this.
2006-03-06 17:47:41 +01:00
Vadim Gelfer
30f504a884 get patchbomb extension to use demandload. speeds up hg startup by 50%. 2006-03-02 11:38:39 -08:00
Thomas Arendsen Hein
47314a5f51 Whitespace, tab and formatting cleanups, mainly in mq.py 2006-02-28 23:25:34 +01:00
mason@suse.com
e69cd5f3b2 Add mq extension 2006-02-28 12:25:26 -06:00
Johannes Stezenbach
ebb84bfa68 add --mbox output to patchbomb
add option to save generated mails in an mbox file for later
processing with formail, instead of sending them directly
2006-02-06 17:34:39 -06:00
Thomas Arendsen Hein
5402a5485e Removed executable bit from patchbomb extension. 2006-02-03 11:43:49 +01:00
Benoit Boissinot
f35a4401dc extension gpg.py: really raise the exception in case of invalid data 2006-02-02 19:22:27 +01:00
Benoit Boissinot
7993682c87 fix an exception in gpg.py with multiples sigs for the same cset
- silly error, do not overwrite the variable we use for iterating
- correct 'hg help sign'
2006-02-01 20:20:27 +01:00
Benoit Boissinot
3c3d3f47d2 fixes for gpg.py extension
- add copyright and license
- add i18n
- add 'sigs' command behaving like 'hg tags'
- change 'role' to 'comment' and output it only if there is one
- refactoring
2006-02-01 19:37:26 +01:00
Thomas Arendsen Hein
6e4eeabc49 Added missing space in output of gpg.py 2006-02-01 12:55:01 +01:00
Vadim Gelfer
774f42f23f add documentation for email command. 2006-01-31 08:14:23 -08:00
Vadim Gelfer
fb86f22d15 add _ to several strings 2006-01-31 08:08:43 -08:00
Vadim Gelfer
5ddda972ae turn patchbomb script into an extension module.
command name is now 'hg email'.
2006-01-31 08:06:35 -08:00
Thomas Arendsen Hein
f5ef5dad07 Renamed c, a, d, u to modified, added, removed, unknown for users of changes() 2006-01-12 13:35:09 +01:00
Benoit Boissinot
799c1157bf gpg signing extension for hg
the principle is almost the same as how tags work:
.hgsigs stores signatures, localsigs stores local signatures

the format of the signatures is:
nodeid sigversion base64_detached_sig

sigversion 0 signs simply the nodeid (maybe we would like
to sign other things in the future).

you can associate fingerprints with roles in hgrc like:
[gpg]
fingerprint_of_a_key_without_spaces = release
fingerprint_of_a_key_without_spaces = contributor, testing

the key used for signing can be specified on the command line or
via hgrc (key =)

thanks to Eric Hopper for testing and bugfixing
2005-12-16 11:12:08 -06:00
Matt Mackall
3e810c442d Re-add hgext/__init__.py 2005-09-29 12:49:01 -07:00
mpm@selenic.com
d6595522d1 Merge with BOS 2005-09-22 09:39:05 -07:00
Bryan O'Sullivan
2f99b73208 Rename mercurial.ext to hgext. 2005-09-21 15:17:24 -07:00