Commit Graph

10 Commits

Author SHA1 Message Date
Matt Mackall
46429c0cb8 strip: hide unbundle messages by default
Unbundling is an internal implementation detail for strip, only show
them with --verbose.
2010-05-20 13:27:28 -05:00
Matt Mackall
0a1ca665ca strip: be quiet about temporary internal bundle 2010-05-19 19:46:39 -05:00
Steve Losh
eea597d740 mq: add parent node IDs to MQ patches on qrefresh/qnew
The goal of this patch is to add the IDs of the parents of applied MQ patches
into the patch file headers whenever qnew or qrefresh are run.

This will serve as a reminder of when the patches last applied cleanly and
will let us do more intelligent things in the future, such as:

    * Resolve conflicts found when qpushing to a new location by merging
      instead of simply showing rejects.

    * Display better diffs of versioned MQ patches because we can tell how the
      patched files have changed in the meantime.

Here are the new rules this patch introduces.  They are checked in this order:

    * If a patch currently has old, plain-style patch headers ("From:" and
      "Date:") do not change the style or add any new headers.

    * If the 'mq.plain' configuration setting is true, only plain-style
      headers will be used for all MQ patches.

    * qnew will initialize new patches with HG-style headers and fill in the
      "# Parent" header with the appropriate parent node.

    * qrefresh will refresh the "# Parent" header with the current parent of
      the current patch.
2010-02-07 10:47:54 -05:00
Patrick Mezard
9d2e0b1006 test-mq-qrefresh: test qrefresh when tip != qtip 2010-02-07 11:38:36 +01:00
Patrick Mezard
c8f0bb9bb7 mq: drop copy records when refreshing regular patches (issue1441)
Copy information was saved in a common loop, then refined in a git-only block.
The problem was the latter did filter out renames occuring in the current
patch and irrelevant to commit. In the non-git case, copy records still existed
in the dirstate, referencing removed files, making the commit to fail. Git and
non-git copy handling paths are now separated for simplicity.

Reported by Gary Bernhardt
2009-01-04 21:32:40 +01:00
Mads Kiilerich
905ce16584 mq: Fix --qrefresh --short to work with --exclude and --include
pmezard expects
	hg qref -s -X b
to apply the -X to the list of files in the patch, and thus remove b from the
patch.
That's how it worked before c302ef4372b2. That change seemed sensible, but it
wasn't...

mpm says
	(17:22:30) pmezard_: kiilerix1: do you mean that -X should be forbidden with -s ?
	(17:22:54) pmezard_: kiilerix1: and --include too
	(17:23:03) mpm: No because you should be able to say hg qref -s foo* -X foo-bar
so mpm expects
	hg qref -s -X b *
to apply the -X to the list of files in the working directory, and thus don't
include b in the patch

This patch tries to make both usecases work by creating a matchfn which uses
the include/excludes but not the filelist.
2008-10-19 16:31:24 +02:00
Mads Kiilerich
552c248fa5 mq: Allow qrefresh --silent to take parameters
'hg qrefresh --short file.txt' now adds changes made to file.txt to current
patch.

This builds on a patch for implementing --amend by Kirill Smelkov as discussed
in issue933.

FIXME: Why do mq refresh have two matchers if we only need one?
2008-10-17 21:26:39 +02:00
Patrick Mezard
42c2e73f4f mq: fix qrefresh losing copy information (issue 1134) 2008-07-07 09:16:09 +02:00
Matt Mackall
11423d02c7 diff: don't show function name by default
We'd mistakenly made the -p option always on, which meant there was no
way to turn it off. It also meant that we were sometimes splitting
multibyte characters in function name, which isn't a good default.
2008-01-16 11:14:24 -06:00
Giorgos Keramidas
c6538e557f tests: add new test; test-mq-qrefresh 2006-09-20 21:44:35 +02:00