TortoiseHg '#' を含むバンドルファイルがアンバンドルできない

56 views
Skip to first unread message

Shinobu Koyama

unread,
Sep 20, 2016, 6:55:32 AM9/20/16
to mercur...@googlegroups.com
小山です。
こんばんは。

TortoiseHg 3.8.3 で '#' を含むバンドルファイルをアンバンドルできません。
たとえば "#bundle.hg" というファイルをアンバンドルしようとすると "unknown revision 'bundle.hg'" というメッセージが表示されます。
hg unbundle コマンドだとアンバンドルできるのですが。

'#' は TortoiseHg 固有のダメ文字なのでしょうか。
使わなければいいだけの話なのかもしれませんが…

コンソールログ:

% hg incoming --quiet --bundle /var/folders/gn/tsvccyd9289g_xdk6p69m6tm0000gn/T/thg.HDu8Rg/_Users_shrimp_tmp_unbundle_bundle.hg_I6EVUq.hg /Users/shrimp/tmp/unbundle/#bundle.hg
unknown revision 'bundle.hg'
[command returned code 255 Tue Sep 20 19:42:22 2016]
unbundle% 

Iwata

unread,
Sep 20, 2016, 9:50:08 AM9/20/16
to mercur...@googlegroups.com

岩田です。

取り込まれるリビジョンをプレビュー表示するためにまずincomingが走るので、
そこで#以下がURLフラグメントとして解釈されているのではないでしょうか。
(clone/pull/incomingではURLフラグメントでhashやtagなどを指定できるという仕様があるはずです)


2016年9月20日(火) 19:55 Shinobu Koyama <y015...@gmail.com>:
--
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/optout にアクセスしてください。

Shinobu Koyama

unread,
Sep 23, 2016, 9:53:38 PM9/23/16
to mercur...@googlegroups.com
小山です。

ありがとうございます。
"a_#bundle.hg" にリネームして incoming したところ "abort: repository a_ not found!" と出力されました。
が、バンドルファイル "#bundle.hg" を hg incoming したところ traceback が出力されました。
いずれにせよ '#' の使い方が間違っているので不用意に使うのはやめたほうがよさそうですね…

[shrimp]$ hg incoming a_\#bundle.hg
abort: repository a_ not found!

[shrimp]$ hg incoming \#bundle.hg
** unknown exception encountered, please report by visiting
** Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]
** Mercurial Distributed SCM (version 3.5)
** Extensions loaded: color, convert, eol, extdiff, fetch, graphlog, histedit, strip, mq, pager, purge, rebase, transplant
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 43, in <module>
    mercurial.dispatch.run()
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 30, in run
    sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 92, in dispatch
    ret = _runcatch(req)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 163, in _runcatch
    return _dispatch(req)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 895, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 656, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/extensions.py", line 171, in closure
    return func(*(args + a), **kw)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/hgext/pager.py", line 130, in pagecmd
    return orig(ui, options, cmd, cmdfunc)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/extensions.py", line 171, in closure
    return func(*(args + a), **kw)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/hgext/color.py", line 525, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 1013, in _runcommand
    return checkargs()
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 982, in checkargs
    return cmdfunc()
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/dispatch.py", line 892, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py", line 792, in check
    return func(*args, **kwargs)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/extensions.py", line 171, in closure
    return func(*(args + a), **kw)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py", line 792, in check
    return func(*args, **kwargs)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/hgext/mq.py", line 3515, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py", line 792, in check
    return func(*args, **kwargs)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/commands.py", line 4406, in incoming
    repo._subtoppath = ui.expandpath(source)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/ui.py", line 536, in expandpath
    if util.hasscheme(loc) or os.path.isdir(os.path.join(loc, '.hg')):
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py", line 2169, in hasscheme
    return bool(url(path).scheme)
  File "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py", line 1957, in __init__
    if hasdriveletter(path) or path.startswith(r'\\'):
AttributeError: 'NoneType' object has no attribute 'startswith'


2016年9月20日 22:49 Iwata <iwat...@gmail.com>:

岩田です。

取り込まれるリビジョンをプレビュー表示するためにまずincomingが走るので、
そこで#以下がURLフラグメントとして解釈されているのではないでしょうか。
(clone/pull/incomingではURLフラグメントでhashやtagなどを指定できるという仕様があるはずです)


このグループから退会し、グループからのメールの配信を停止するには mercurial-ja+unsubscribe@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

--
from Mercurial 日本語コミュニティ <mercur...@googlegroups.com>
※ ヘルプ表示は http://groups.google.com/group/mercurial-ja?hl=ja
---
このメールは Google グループのグループ「mercurial-ja」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには mercurial-ja+unsubscribe@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Yuya Nishihara

unread,
Oct 1, 2016, 11:58:36 PM10/1/16
to mercur...@googlegroups.com, Shinobu Koyama
On Sat, 24 Sep 2016 10:53:37 +0900, Shinobu Koyama wrote:
> "/usr/local/Cellar/mercurial/3.5/lib/python2.7/site-packages/mercurial/util.py",
> line 1957, in __init__
> if hasdriveletter(path) or path.startswith(r'\\'):
> AttributeError: 'NoneType' object has no attribute 'startswith'

例外が飛ぶ件は修正しました。

https://www.mercurial-scm.org/repo/hg-committed/rev/3f4e1c033f40

Shinobu Koyama

unread,
Oct 4, 2016, 11:37:30 AM10/4/16
to mercur...@googlegroups.com
小山です。
ご対応ありがとうございます!

TortoiseHg バンドルの hg に取り込まれるのが楽しみです :)
Reply all
Reply to author
Forward
0 new messages