Re: [mercurial-ja:1909] [TortoiseHG] '#' を含む名前はパッチ名に使用できないのは仕様でしょうか? Mercurial : 4.9.1, flow: version 0.9.8.4

45 views
Skip to first unread message
Message has been deleted

Katsunori FUJIWARA

unread,
Aug 22, 2019, 3:13:04 AM8/22/19
to mercurial-ja
藤原です。

2019年8月22日(木) 12:02 ohira <shin....@gmail.com>:
>
> いつもおせわになっております。
> おおひらです。


> '#' を含む名前はパッチ名に使用できないのはmercurialの仕様でしょうか?

MQ の仕様ですね。"#" を含むパッチ名は意図的に禁止されています。

https://www.mercurial-scm.org/repo/hg/file/5.1/hgext/mq.py#l1191

パッチ一覧 (.hg/patches/series 等のファイル) において、
qselect/qguard で使用するガード関連情報を "パッチ名 #ガード情報"
という形式で保持している都合上、区切り文字である "#" がパッチ名に
混在すると色々面倒、という実装上の都合によるものだと思われます。

ブランチ名やブックマーク名の構成文字として一応許されてはいますが、
"#" は何かと特別扱いされるケースがありますので、危機回避という観
点からは、積極的な使用はあまりお勧めしません (^ ^ ;;;)

- クローン時の URL 末尾にブランチ名を指定する際の区切り文字として使用

e.g. $ hg clone "https://foo.example.com/path/to/repo#branchname"

- シェルスクリプトに直書きした際に行末までをコメント扱いされてしまう
(引用符等で囲む必要あり)



> ブランチ名は'#'を含んでも問題ないですが、
> hgflow は ブランチ名.pch というパターンでパッチ名を作ろうとするようでエラーになってしまいます。
>
>
>
> エラー発生時のログ
> % hg flow feature/bugfix/#25383 promote develop/maintenance_20190826
> flow: warning: Your workspace has uncommitted changes.
> flow: error: Hg command failed: hg qnew --message "Shelved changes" --currentuser --currentdate flow/feature/bugfix/#25383.pch
> flow: error: abort: '#' を含む名前はパッチ名に使用できません
>
> --
> from Mercurial 日本語コミュニティ <mercur...@googlegroups.com>
> ※ ヘルプ表示は http://groups.google.com/group/mercurial-ja?hl=ja
> ---
> このメールは Google グループのグループ「mercurial-ja」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには mercurial-ja...@googlegroups.com にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/mercurial-ja/12e47525-6c40-4b0a-91af-78345bed1089%40googlegroups.com にアクセスしてください。



--
----------------------------------------------------------------------
FUJIWARA Katsunori(flying...@gmail.com)

ohira

unread,
Aug 22, 2019, 8:56:34 PM8/22/19
to mercurial-ja
おおひらです。
回答ありがとうございます。

MQの仕様で '#' ':' '\r' '\n' はパッチ名に使えないのですね。


redmine へのリンクでは、#1234 のように #案件番号 を使うのが一般的なようなので
hgflowで使うブランチ名として、feature/#1234 のような形式のものを量産していました。

回避策としては、hgflow の設定から 
autoshelve = yes
の部分を削除することにします。
関連URL
hgflowの設定 https://bitbucket.org/yujiewu/hgflow
redmine の案件番号へのリンク http://redmine.jp/tech_note/RedmineWikiFormatting/
kallitheaからredmineへのリンク http://www.kallithea-users.jp/admin-tips/link-to-redmine.html


2019年8月22日木曜日 16時13分04秒 UTC+9 FUJIWARA Katsunori:
藤原です。

2019年8月22日(木) 12:02 ohira <shin...@gmail.com>:
> このグループから退会し、グループからのメールの配信を停止するには mercur...@googlegroups.com にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/mercurial-ja/12e47525-6c40-4b0a-91af-78345bed1089%40googlegroups.com にアクセスしてください。



--
----------------------------------------------------------------------
FUJIWARA Katsunori(flyin...@gmail.com)

ohira

unread,
Sep 4, 2019, 10:03:06 PM9/4/19
to mercurial-ja
おおひらです。

藤原さんから頂いた情報と障害再現用テストコードをhgflowの作者に送付したところ
対応していただくことができました。

ありがとうございました。

2019年8月23日金曜日 9時56分34秒 UTC+9 ohira:
Reply all
Reply to author
Forward
0 new messages