masterのcommitが別のbranchのPull Requestに混じっていた件
先日のSVNの特定のフォルダを既にあるGitのレポジトリのブランチとして移行する手順 - まさかリストの後に早速branchを切ってPull Requestした所謎の問題が発生。
私こんなにcommitしていない。
よく見たらmasterのcommitが出ている…
なんだこれ…と悩んで調べましたがそれらしい情報は出てこず。
設定を色々確認してもよく分からず。
打つ手なしと思われましたが解決しました。
原因
デフォルトのbranchが設定されていなかった。
解決策
デフォルトのbranchを選択してApply changesで確定。
因みにこの画像は確定前、選択前です。
てっきり既にデフォルトが設定されているものだと思ったので、ハマりました。
変更が無い場合でも、一度Apply changes押して確定させる必要があります。
未選択とかあったらわかりやすいかな?
環境
GitBucket 3.9
おわり。
Pull Requestしてmergeした後にrevertしてcommitしたやつを更にrevertしてなかった事した記録
Pull Requestしてmergeした後に問題があって「Pull Request取り消したい!」って時ありませんか?
ありませんね。
本当にありがとうございました。
私はありましたので記しておきます。
まずは、Pull Requestを取り消します。
$ git revert -m 1 [Pull RequestのSHA]
これでcommitすれば目出度くPull Requestが無かった事になります。
しかし、世の中は残酷で、「やっぱりなかった事をなかった事にしたい!」という時があります。
その時にはrevertしたcommitをrevertします。
既にrevertされたbranchから新しいbranchを作成します。
そうしたら、revertを実行します。
$ git revert [revertしたやつのSHA]
これでcommitして、Pull Requestすれば完全に元通り。
但し、コメントが
って意味分かんない事になりかねないので注意。
SVNの特定のフォルダを既にあるGitのレポジトリのブランチとして移行する手順
タイトルがわかりにくいですが、要するにgit-svnです。
環境
Windows 7 64bit
手順
まず、どこでもいいのでフォルダを作っておきます。
mkdir test
今回のSVNレポジトリがfile:/// でアクセスしていたのでエラーが表示されました。
解決策
d.hatena.ne.jp
d.hatena.ne.jp
別窓で下記を実行しておく。
対象のディレクトリは該当のレポジトリがあるディレクトリのところまで。
svnserve.exe -X --root \\NAS\repository
その後git-svnを実行。今回はブランチ等存在していないので、そのままで。
git svn clone svn://localhost/test
完了後、同一ディレクトリに新たにフォルダを作成。
mkdir test_sub
cloneします。
git clone test test_sub
指定したディレクトリのみ抽出。
cd test_sub git filter-branch --subdirectory-filter [移行したいフォルダ名] -- --all
作成したいブランチ名に変更。
git branch -m [作成したいブランチ名]
確認します。
git branch -a
あとはpushするだけ。
git remote rm origin git remote add origin [remoteURL] git push --all
所感
かなり変則的なやり方になったが、そのフォルダの歴史も引き継げているのでどうにか出来たっぽい。
結構複雑だったが、まとめたらたいした事なかった。
MySQL 5.6でサブクエリーのANY、SOME違いについて
サブクエリについて調べていてANYとSOMEがでて来たのですが、違いがよくわからないのでドキュメントみてみました。
結論
どちらも同じ。
SOMEはANYのエイリアス。
以下そーす
ワード SOME は ANY のエイリアスです。そのため、次の 2 つのステートメントは同じです。
SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 <> SOME (SELECT s1 FROM t2);
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.10.3 ANY、IN、または SOME を使用したサブクエリー
はてなブックマークを表示するChrome Extension作りました。
非常に簡単ですがChrome Extensionを初めて作りました。
はてなオフィシャルのChrome Extensionはコメント表示だとか色々機能があって、ただブクマを表示したい時に微妙に使いづらさを感じていたので作りました。
開いてるページのはてブ数もアイコンの横に表示されます。
はてなブックマーク件数取得API - Hatena Developer Centerを使いました。
当初chrome.tabs.onActiveChanged.addListenerを使っていたが、どうやら Chrome 33から非推奨になっているみたいなので、代替のchrome.tabs.onActivated.addListenerを使うようにしました。
初めてChrome Extensionを作りましたが普通にJavaScriptが使えるので簡単に出来てしまいビックリしました。
また、 Chrome APIも結構色々なものがあるので色んな事が簡単にできそうでした。
インストール方法
「パッケージ化されていない拡張機能を読み込む」からフォルダを選択するだけでOK。
使い方
アイコンをクリックするだけ
左が今回のやつ、右がオフィシャル。
謝辞
アイコンをお借りしました。
ソース
manifest.json
background.js
おわり。
Smartyを3.1.27から3.1.28アプデにしたらFatal error: Uncaught --> Smarty: Unable to load template file 〇〇.tpl'' <-- が出た話
Smartyを3.1.27から3.1.28アプデにしたら
Fatal error: Uncaught --> Smarty: Unable to load template file 'index.tpl' <--
が出て困りました。
原因
クラス変数に値を直接代入していた。
$smarty->template_dir = '/templates'; $smarty->compile_dir = '/templates_c';
解決策
$smarty->setCompileDir('/templates_c'); $smarty->setTemplateDir('/templates');
jQueryでダブルクリックとクリックを区別したい
題名の通りjQueryでダブルクリックとクリックを区別したい時にハマったのでメモ。
ダブルクリックはclickイベントが先に実行されるので、ダブルクリックとクリックでそれぞれ別々の処理ができません。
しかし、解決策がありました。
stackoverflow.com
$(セレクタ).on('click', function(e) { var that = this; setTimeout(function() { var dblclick = parseInt($(that).data('double'), 10); if (dblclick > 0) { $(that).data('double', dblclick-1); } else { //やりたい処理; } }, 250); }).dblclick(function(e) { $(this).data('double', 2); //やりたい処理; });
jQuery v2.1.4 で動作しました。
流石Stack Overflowですね。
Stack Overflowでは関数呼んでますが、二行程度だったので直接やりたい処理に記述しました。
おわり