Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mercurialの疑問・要望はお気軽に

1,401 views

Published on

SCMBootCamp in Nagoya #2 2014-05-17 での発表資料

  • Be the first to comment

  • Be the first to like this

Mercurialの疑問・要望はお気軽に

  1. 1. Mercurialの 疑問・要望は お気軽に 藤原 克則 @flyingfoozy
  2. 2. “mercurial” を含む 日本語ツィートは 我々の監視下に!
  3. 3. All Japanese “mercurial” tweet are belong to us Search also “AYBABTU”
  4. 4. とは言え 結構ノイズも多いので 見失う可能性も……
  5. 5. 折角のツィートが 見失われないために
  6. 6. 疑問・要望等は #mercurialjp 付き ツイートで!
  7. 7. 寄せられた疑問・要望が どれぐらい有用かと言うと
  8. 8. 数々の修正が Mercurial 本体に 取り込み済み
  9. 9. 2012年の成果 1. 83925d3a4559: filemerge: refactoring of 'filemerge()' 2. 0c4bec9596d8: filemerge: create detail of internal merge tools from documentation string 3. dd68c972d089: i18n: show localized messages for commands/extensions in hgweb help top (issue3383) 4. 363e808de349: i18n: use locale insensitive format for datetimes as intermediate representation (issue3398) 5. c17ce7cd5090: match: make 'match.files()' return list object always 6. 986df5249b65: mq: add ".hgsubstate" to patch target list only if it is not listed up yet 7. f287d4a62031: mq: create patch file after commit to import diff of ".hgsubstate" at qrefresh 8. 54da604fefee: mq: check subrepo synchronizations against parent of workdir or other appropriate context 9. 133d13e44544: archival: add "extended-timestamp" extra block for zip archives (issue3600) 10. 9a1796af4f8d: verify: rename "hasmanifest" variable for source code readability 11. 2e3ceb59c312: verify: use appropriate local variable in "checkentry()" 12. 4562570ae0f7: verify: use appropriate node information to show verification error 13. 009db477c9fb: help: add information about recovery from corruption to help of "verify"
  10. 10. 2013年の成果 1. f01a351db791: win32: use explicit path to "python.exe" only if it exists 2. be207d9b7e4b: i18n: show the non-ASCII password prompt text correctly 3. cb95716da5fe: tags: update tag type only if tag node is updated (issue3911) 4. 335a558f81dc: tags: write tag overwriting history also into tag cache file (issue3911) 5. 1b329f8c7b24: windows: check target type before actual unlinking to follow POSIX semantics 6. 83d79a00cc24: help: use full name of extensions to look up them for keyword search 7. 577f4c562d52: rebase: catch RepoLookupError at restoring rebase state for abort/continue 8. e7fa36d2ad3a: rebase: catch RepoLookupError at restoring rebase state for summary 9. 45c3086880c7: histedit: suggest "histedit --abort" for inconsistent histedit state 10. bfc6ed892349: push: hide description about "-f" in the hint to prevent from using it easily 11. 4f53de036af8: push: add more detailed explanation about "--force" to online help document 12. b00ba31313c3: discovery: abort also when pushing multiple headed new branch 13. 8179eb28983b: discovery: revise hint message introduced by changeset b00ba31313c3 14. 621a26eb3a99: demandimport: allow extensions to import own modules by absolute name 15. e3a5922e18c3: demandimport: support "absolute_import" for external libraries (issue4029) 16. 4c96c50ef937: subrepo: check phase of state in each subrepositories before committing
  11. 11. 2014年の成果(現時点) 1. 03d345da0579: dispatch: make "_checkshellalias()" invoke "findcmd()" with "strict=True" 2. 8c9e84b44221: hgweb: make "comparison" get parent from not filelog but changelog 3. 50981ce36236: hgweb: show as same parents as "hg parents -r REV FILE" in pages for file 4. 92fab48dfec1: hgweb: show revisions and hashes gotten from changelog in "comparison" page
  12. 12. 以下の要望をツィート
  13. 13. 実際に着手してみたら……
  14. 14. 「直前のコミットログの保存」周りに関する障害修正 1. f042d4b263f4: localrepo: save manually edited commit message as soon as possible 2. 95aab23a806b: rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse" 3. bcfc4f625e57: tag: save manually edited commit message into ".hg/last-message.txt" 4. 57d0c8c3b947: qnew: save manually edited commit message into ".hg/last-message.txt" 5. 1e686e55780c: qfold: save manually edited commit message into ".hg/last-message.txt" 6. 5d22cadd1938: histedit: save manually edited commit message into ".hg/last-message.txt" ("fold" コマンド向け) 7. 434619dae569: amend: save commit message into ".hg/last- message.txt" 8. a0f437e2f5a9: histedit: save manually edited commit message into ".hg/last-message.txt" ("message" コマンド向け)
  15. 15. 正規のコミットログ保存フレームワークへの移行 1. 213fd1a99cd9: histedit: use "editor" argument of "commit()" instead of explicit "ui.edit()" 2. b9a16ed5acec: qnew: use "editor" argument of "commit()" instead of explicit "ui.edit()" 3. 51069bf6366b: qrefresh: relocate message/patch-header handling to delay message determination 4. 49148d7868df: qrefresh: use "editor" argument of "commit()" instead of explicit "ui.edit()" 5. 0054a77f49df: localrepo: add "editor" argument to "tag()" 6. 25d6fdc0294a: context: move editor invocation from "makememctx()" to "memctx.__init__()" 7. 19d98da5c018: histedit: pass "editor" argument to "memctx.__init__()" for "collapse" command 8. 1a833fcf5a14: amend: use "editor" argument for "memctx.__init__" to save commit message 9. 244b177a152e: cmdutil: omit redundant "savecommitmessage()" in "tryimportone()"
  16. 16. 編集エディタ起動処理の統一 1. cmdutil: introduce "getcommiteditor()" to simplify code paths to choose editor 2. fetch: use "getcommiteditor()" instead of explicit editor choice 3. histedit: use the editor gotten by "getcommiteditor()" for "message" 4. histedit: use "getcommiteditor()" instead of explicit editor choice for "fold" 5. histedit: use "getcommiteditor()" instead of explicit editor choice for "--continue" 6. rebase: use "getcommiteditor()" instead of explicit editor choice 7. transplant: use "getcommiteditor()" instead of explicit editor choice 8. backout: avoid redundant message examination 9. backout: use "getcommiteditor()" instead of explicit editor choice 10. commit: use "getcommiteditor()" instead of explicit editor choice 11. amend: use "getcommiteditor()" instead of explicit editor choice 12. graft: use "getcommiteditor()" instead of explicit editor choice 13. import: use "getcommiteditor()" instead of explicit editor choice 14. tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" 15. cmdutil: enhance "getcommiteditor()" for specific usages in MQ 16. mq: fold the code path to invoke editor into specific logic (qnew) 17. mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qnew) 18. mq: fold the code paths to invoke editor into specific logic (qrefresh/qfold) 19. mq: use the editor gotten by "getcommiteditor()" instead of "ui.edit()" (qrefresh/qfold)
  17. 17. 作業過程で見つけた関連処理の障害修正 1. b0153cb8b64e: commit: create new amend changeset as secret correctly for "--secret" option 2. e6e34c17b1cc: commit: abolish useless "--force-editor" internal option for "hg commit" 3. a1a1bd09e4f4: amend: invoke editor forcibly when "--edit" option is specified
  18. 18. 本来の要望機能の 実装前段階で 39個の修正が反映
  19. 19. 多分、あと5~6個は 前段階の修正が入る予定
  20. 20. 皆さんの声は Mercurial の品質向上に 大変役立ってます!
  21. 21. と言う訳で
  22. 22. 疑問・要望等は #mercurialjp 付き ツイートでお気軽に!
  23. 23. 以上

×