bug: qpush loses loses file executable permissions

Giorgos Keramidas keramida at ceid.upatras.gr
Thu Nov 2 19:52:53 CST 2006

On 2006-11-02 17:15, Armando Singer <armando.singer at gmail.com> wrote:
> Good to know!
> I would vote for one or both of the following:
> 1. Use/enable git diffs by default when the mq extension is added (or
>   when any mq command that works with diffs is run). That is, most
>   things should "just work." Using qpush/qpop, etc. is not useable
>   for common operations without this.
> and/or
> 2. Show a warning or fail whenever any command is run that could
>   result in loss of information. Example:
>   hg qpop
>   abort: working tree contains mode changes that will be lost
>   (enable git diff format to retain)
>   This would include commands outside of mq.

A third option would be to extend GNU patch(1), making it able to
automatically grok and properly handle git-format patches, and submit
this to the GNU patch developers.  This would make it then possible to
export --git patches from Mercurial, and patch source trees which are
under the control of other SCM's too.

I'm saying this because I commonly use Mercurial for my own personal
work, and then export diffs which are applied with gpatch(1) on Perforce
workspaces.  Using --git format patches by default in MQ would break
this, and I would have to *disable* --git patches to make them usable
for this sort of workflow.

I'm not sure if there is a way to turn *off* git format diffs once they
are enabled, even with an explicit command-line option.  This means that
auto-enabling --git format patches would make it hard if not impossible
for me to use Mercurial for my offline work and then commit to Perforce.

Just my two euro-cents :)

-- Giorgos

More information about the Mercurial mailing list