feat: 初始化工程,从github更新代码(4月12日最后更新)

master
Lxy 2 months ago
commit e26b7960fb

@ -0,0 +1,30 @@
# 忽略 Python 缓存
__pycache__/
*.py[cod]
*$py.class
*.so
# 忽略虚拟环境
venv/
.venv/
env/
.env.local
# 忽略 IDE
.idea/
.vscode/
*.swp
*.swo
# 忽略数据文件(可选,如果想持久化就注释掉)
# data/
# logs/
# reports/
# 忽略测试文件
test_*.py
*_test.py
# 忽略文档
*.md
!README.md

@ -0,0 +1,169 @@
3dceb1eca8487e5763b5995f78dd9d723213423d branch 'main' of https://github.com/ZhuLinsen/daily_stock_analysis
613bf2bcfdcdf63fe22c537c8831ee9fc02d44e4 not-for-merge branch 'autocode/issue-1027-feature-stocks-index-json-90-sto' of https://github.com/ZhuLinsen/daily_stock_analysis
1840f112fb724e7ba7e8dbb3d35808b64a12b8d2 not-for-merge branch 'autocode/issue-1029-feature-report-language' of https://github.com/ZhuLinsen/daily_stock_analysis
9990f21e8fa42d3d0c997e1bbdcc32fbdeabd5f0 not-for-merge branch 'autocode/issue-594-feature' of https://github.com/ZhuLinsen/daily_stock_analysis
3f1cfa1902caf7233526b2b3a24e1a5f0462c51f not-for-merge branch 'autocode/issue-637-feature' of https://github.com/ZhuLinsen/daily_stock_analysis
01f72edee9fe0cbf0eb7dcefbea7ad5983ee54a2 not-for-merge branch 'autocode/issue-751-feature-windows-mac' of https://github.com/ZhuLinsen/daily_stock_analysis
8caf7445e90fe65d11b8418a808b1e668da7ad81 not-for-merge branch 'autocode/issue-765-bug-docker-webui' of https://github.com/ZhuLinsen/daily_stock_analysis
027272a1a0e1b6007b5f767128dacfac0d6717cd not-for-merge branch 'autocode/issue-773-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
e08619621b3b6a82ff6e92ed8855c40d5943a8c0 not-for-merge branch 'autocode/issue-792-task' of https://github.com/ZhuLinsen/daily_stock_analysis
3bdad39fc336edb678603bc4b0e7ddb33c3cae98 not-for-merge branch 'autocode/issue-796-bug-docker-web' of https://github.com/ZhuLinsen/daily_stock_analysis
e7757b0db95a74f50d2d0b8b3e209a4e7e102b49 not-for-merge branch 'autocode/issue-812-feature-ai' of https://github.com/ZhuLinsen/daily_stock_analysis
84b635a6e04940f14f2421fefff42ba312a03307 not-for-merge branch 'autocode/issue-819-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
7fbb389ec11c8eeb984ec4e9e73ce0582ce4360b not-for-merge branch 'autocode/issue-821-feature' of https://github.com/ZhuLinsen/daily_stock_analysis
d3aa23f0975b5472aa6dd934acc16f7569d19aa1 not-for-merge branch 'autocode/issue-825-task' of https://github.com/ZhuLinsen/daily_stock_analysis
2b5808f4683795ebffc02a95edab9d5195efd849 not-for-merge branch 'autocode/issue-826-feature-release-win-minimax' of https://github.com/ZhuLinsen/daily_stock_analysis
8449670a5fe194e32cba254d62680da01496043e not-for-merge branch 'autocode/issue-827-feature' of https://github.com/ZhuLinsen/daily_stock_analysis
38596a2bbe2e2a32f071aaf850670fca03096135 not-for-merge branch 'autocode/issue-830-feature-v1-models' of https://github.com/ZhuLinsen/daily_stock_analysis
7dd3a226cb6329e0b359716c26c37418b01fc959 not-for-merge branch 'autocode/issue-832-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
e60cd15a2bcb63478f15c95184bc5ef9c2eb17fe not-for-merge branch 'autocode/issue-839-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
ea946fce0754734e4eb6043d064ec47f6bae38b7 not-for-merge branch 'autocode/issue-840-security-litellm-pypi-1-82-7-1-8' of https://github.com/ZhuLinsen/daily_stock_analysis
2c47d6ebd210d6c0f5b023b30a4a2c65d5e94505 not-for-merge branch 'autocode/issue-848-bug-the-job-has-exceeded-the-max' of https://github.com/ZhuLinsen/daily_stock_analysis
f49f2884d13042a3194d209eedd54c1a780eccf3 not-for-merge branch 'autocode/issue-854-ollama' of https://github.com/ZhuLinsen/daily_stock_analysis
cddb351e375dcde570341e96009cbb70e0262e51 not-for-merge branch 'autocode/issue-860-bug-stock-group-email-group-gith' of https://github.com/ZhuLinsen/daily_stock_analysis
7c1efc6e7652ce641cf0275906582f714ba5996d not-for-merge branch 'autocode/issue-863-feature-change-the-max-tokens-fr' of https://github.com/ZhuLinsen/daily_stock_analysis
9ae8b04a91be289bbe1906182d16894b4faca772 not-for-merge branch 'autocode/issue-865-feature-llm-stream' of https://github.com/ZhuLinsen/daily_stock_analysis
5e94755c88b879eff71f893a71368497d1572a72 not-for-merge branch 'autocode/issue-872-feature-github-action-ai' of https://github.com/ZhuLinsen/daily_stock_analysis
6b7ab16a111890734935973f9e92f443460908f7 not-for-merge branch 'autocode/issue-875-feature-litellm' of https://github.com/ZhuLinsen/daily_stock_analysis
02c2ee45efc9f320f43b4942074b866fc2b54c9e not-for-merge branch 'autocode/issue-876-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
16c9bab53ef82bc869090e47cf94ac3307662ba8 not-for-merge branch 'autocode/issue-877-bug-info-llm-prompt-response' of https://github.com/ZhuLinsen/daily_stock_analysis
778168f9de58d66721e013530f932197a1fe4af7 not-for-merge branch 'autocode/issue-878-bug-sqlite' of https://github.com/ZhuLinsen/daily_stock_analysis
7175dd29259de4084b8f477e4301a500911147a8 not-for-merge branch 'autocode/issue-880-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
cc745ac641fe0e43b3e272669ca53b613b1c51b4 not-for-merge branch 'autocode/issue-881-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
183af0af2520385e44f03bd05271b698794ba6b7 not-for-merge branch 'autocode/issue-882-feature-serpapi' of https://github.com/ZhuLinsen/daily_stock_analysis
4b23a4b9986d53fc8531fc4c7e12436b684a5c94 not-for-merge branch 'autocode/issue-883-docs-readme' of https://github.com/ZhuLinsen/daily_stock_analysis
44ca7f54afbc2d8eb2031fd0002ca8eda64f4b40 not-for-merge branch 'autocode/issue-896-bug-discord-webhook' of https://github.com/ZhuLinsen/daily_stock_analysis
3e31b26e72e4f599892597bb148a28bed5ae09cd not-for-merge branch 'autocode/issue-901-task' of https://github.com/ZhuLinsen/daily_stock_analysis
42e0e0be50e956372dedf6b212ce11cd01701f73 not-for-merge branch 'autocode/issue-902-feature-clawbot' of https://github.com/ZhuLinsen/daily_stock_analysis
075cbf98e25b3ae38b779c6be9208005efb55964 not-for-merge branch 'autocode/issue-940-bug-stock-name' of https://github.com/ZhuLinsen/daily_stock_analysis
3bdf9903b682bbcb5163c36c5880f5979c035038 not-for-merge branch 'autocode/issue-942-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
8e3e5c72407e0fbf0610948366de6aefef0d74ce not-for-merge branch 'autocode/issue-944-feature-webui-ui' of https://github.com/ZhuLinsen/daily_stock_analysis
19cb475350d1176b69390c3a8baef0571be39969 not-for-merge branch 'autocode/issue-946-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
f488e76cc1128218882df33fd28b11a396ef4194 not-for-merge branch 'autocode/issue-967-bug-sse-cancellederror-re-raise' of https://github.com/ZhuLinsen/daily_stock_analysis
7b9c03c6401b3332e7e202e312f5c72630c2a7e0 not-for-merge branch 'autocode/issue-968-bug-bot-ask' of https://github.com/ZhuLinsen/daily_stock_analysis
f6a88b85826497ef1888b939974965851b627315 not-for-merge branch 'autocode/issue-969-bug-agent-sse' of https://github.com/ZhuLinsen/daily_stock_analysis
6cdbd682eb4c088e20cd1c2795fb766ff9087da0 not-for-merge branch 'autocode/issue-970-bug-ask' of https://github.com/ZhuLinsen/daily_stock_analysis
fd47fc20b6af24d9eaa2acfa2703d2d2d81a0ee0 not-for-merge branch 'autocode/issue-976-feature-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
660ff09fde3d88b0e0a4cded20b2f2a9c8ceaecc not-for-merge branch 'autocode/issue-983-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
ffc8e725ee17528da8d3c686bd40c1500025ec8e not-for-merge branch 'autocode/issue-996-bug' of https://github.com/ZhuLinsen/daily_stock_analysis
3c997f4811f2c3d850dc8977c5cb036c74cae00e not-for-merge branch 'autocode/issue-998-bug-a' of https://github.com/ZhuLinsen/daily_stock_analysis
4d7aa88c7d919edb337777369d08592981eda108 not-for-merge branch 'bugfix/package-import-error' of https://github.com/ZhuLinsen/daily_stock_analysis
046a7166d7303ed17522418133c3fad778b40e91 not-for-merge branch 'chore/ai-governance-hardening' of https://github.com/ZhuLinsen/daily_stock_analysis
fcf333798904385de4ad956663c63fafecb24a57 not-for-merge branch 'chore/changelog-flat-unreleased-format' of https://github.com/ZhuLinsen/daily_stock_analysis
e0d8ed566799dec2211a6bd52cdb8503cb897641 not-for-merge branch 'copilot/docs-simplify-readme-structure' of https://github.com/ZhuLinsen/daily_stock_analysis
26f2e2e162dc8c2aca605dfb17cb0b95792e0192 not-for-merge branch 'copilot/sub-pr-641' of https://github.com/ZhuLinsen/daily_stock_analysis
8ee34dbb1c4241cf0e705e17b9922eabd3257d86 not-for-merge branch 'copilot/sub-pr-648' of https://github.com/ZhuLinsen/daily_stock_analysis
70227db11512d524138634e5d11734265ed0970f not-for-merge branch 'copilot/validate-branch-content-and-issues' of https://github.com/ZhuLinsen/daily_stock_analysis
ae4aef3efa852fb40f258592556265c0774cb0f3 not-for-merge branch 'docs/governance-doc-sync-rules' of https://github.com/ZhuLinsen/daily_stock_analysis
6c914ff91e434c7a823331ed08ed3e8d7b3b94a3 not-for-merge branch 'docs/i18n-improvements' of https://github.com/ZhuLinsen/daily_stock_analysis
144e015a8073ade434709ae5288825b1c5e2b344 not-for-merge branch 'docs/trendshift-readme-badge' of https://github.com/ZhuLinsen/daily_stock_analysis
dba9f3a3e4b8b419e7037726dfb1b1e8a46b3351 not-for-merge branch 'feat/779-skill-alignment' of https://github.com/ZhuLinsen/daily_stock_analysis
b91b01d5ec4dae06eeec1fca1201fe5f60147152 not-for-merge branch 'feat/ai-review-ci-context' of https://github.com/ZhuLinsen/daily_stock_analysis
9b9e73f0c09587385f4423043d7bb95dc01d6322 not-for-merge branch 'feat/bot-commands-dispatch' of https://github.com/ZhuLinsen/daily_stock_analysis
2b152174b95f15c176485ce095b7f43388845333 not-for-merge branch 'feat/deep-research-events' of https://github.com/ZhuLinsen/daily_stock_analysis
2c3d44ca9fc4a193358787d62b1d3b1e600bf45f not-for-merge branch 'feat/issue-669-related-boards' of https://github.com/ZhuLinsen/daily_stock_analysis
dd4c7184d1c8c13417bcb75eb75cb7cdd2201b42 not-for-merge branch 'feat/issue-754-desktop-env-backup' of https://github.com/ZhuLinsen/daily_stock_analysis
6937a1521d782410ea50c16a982ffd58709aae2a not-for-merge branch 'feat/llm-config-usability' of https://github.com/ZhuLinsen/daily_stock_analysis
28126db5bd7bcba9897063831f72dce1ccef6cf3 not-for-merge branch 'feat/multi-agent-core' of https://github.com/ZhuLinsen/daily_stock_analysis
b08e14012b5322701354155a37a0cb676e5713b3 not-for-merge branch 'feat/multi-agents-arch' of https://github.com/ZhuLinsen/daily_stock_analysis
9cd1d2f1ea96fb0dea6f2bbd0f1b6c5be16a1add not-for-merge branch 'feat/report-language-758' of https://github.com/ZhuLinsen/daily_stock_analysis
50c4171736680da3c44cba9a5009e2ecb31bb7dc not-for-merge branch 'fix-analysis-api-batch-contract' of https://github.com/ZhuLinsen/daily_stock_analysis
a9af3957f3aab155d67cd0645336160cabcaabf0 not-for-merge branch 'fix/agent-max-steps-ceiling' of https://github.com/ZhuLinsen/daily_stock_analysis
e22278eb904543c5db177084488fcabb627cc101 not-for-merge branch 'fix/agent-min-budget-guard' of https://github.com/ZhuLinsen/daily_stock_analysis
0f49c461f2d95af02b780eebd48d5871a278d47d not-for-merge branch 'fix/backend-ci-single-install' of https://github.com/ZhuLinsen/daily_stock_analysis
b30873901ed74126648eabebb919b8a6eb8effab not-for-merge branch 'fix/daily-analysis-timeout-increase' of https://github.com/ZhuLinsen/daily_stock_analysis
283f01306255ef2276fe90dc5391faaddbb13ec1 not-for-merge branch 'fix/email-sender-name-encoding-708' of https://github.com/ZhuLinsen/daily_stock_analysis
ffbe1e178a792597222ac6084bde0a270a633806 not-for-merge branch 'fix/github-actions-node24-upgrade' of https://github.com/ZhuLinsen/daily_stock_analysis
362a7bb9b1d6c894de2cfdd507d499d5605b4231 not-for-merge branch 'fix/hk-stock-code-629-691' of https://github.com/ZhuLinsen/daily_stock_analysis
b318bcdacc6f04edb7c0a3725d4909e12eb7abcc not-for-merge branch 'fix/issue-726-schedule-immediate-compat' of https://github.com/ZhuLinsen/daily_stock_analysis
d411b96c0f9c8457f6471b223cd9519efd0c781e not-for-merge branch 'fix/issue-749-copy-button' of https://github.com/ZhuLinsen/daily_stock_analysis
666665a78b681ba35241b3d607860624b9eb1088 not-for-merge branch 'fix/issue-772-portfolio-fx-refresh-disabled' of https://github.com/ZhuLinsen/daily_stock_analysis
e9a050a2ef1f359061d1c3e7466183f89dd87e87 not-for-merge branch 'fix/issue-782-tavily-news-filter' of https://github.com/ZhuLinsen/daily_stock_analysis
a6fc1c53fb5d395863906550c2989fb481e5c8ca not-for-merge branch 'fix/llm-rate-limit-detection' of https://github.com/ZhuLinsen/daily_stock_analysis
e4009e16f861ceac8a854e1d20611e2cce4cc93e not-for-merge branch 'fix/multi-agent-max-steps-and-graceful-degradation' of https://github.com/ZhuLinsen/daily_stock_analysis
229d6a3aa3dc4115f781aefdd0f0735682301aee not-for-merge branch 'fix/p0-stability-hardening' of https://github.com/ZhuLinsen/daily_stock_analysis
68ff8eaaba44d6da3359c6f38df3ef7573c0844f not-for-merge branch 'fix/pipeline-optional-service-resilience' of https://github.com/ZhuLinsen/daily_stock_analysis
24e011636d434f2fb610bf74555c5bb99afb8d7d not-for-merge branch 'fix/post-merge-auth-tushare-followups' of https://github.com/ZhuLinsen/daily_stock_analysis
8db6e3870abea74362ef89d69a2adb5093e8639e not-for-merge branch 'fix/realtime-indicator-date-tz-test' of https://github.com/ZhuLinsen/daily_stock_analysis
8711ab653bd7192f23cb566f27fe1231df686992 not-for-merge branch 'fix/recent-bug-triage' of https://github.com/ZhuLinsen/daily_stock_analysis
0372479645b6d72d9088d4ec12f07c102bd978f4 not-for-merge branch 'fix/recover-pr-648-649' of https://github.com/ZhuLinsen/daily_stock_analysis
af0b67cc04006d176d6da1d0a91d38c2f4027347 not-for-merge branch 'fix/report-details-copy-feedback-pr' of https://github.com/ZhuLinsen/daily_stock_analysis
92a5f68fb1eaf106adf606b7253f4b1f6a219905 not-for-merge branch 'fix/report-language-workflow-and-status-price' of https://github.com/ZhuLinsen/daily_stock_analysis
08bb61b9d11366c435bc22388614bc8f98f0fee1 not-for-merge branch 'fix/restore-pypi-litellm' of https://github.com/ZhuLinsen/daily_stock_analysis
77e37214a662f1e5061bfbee3e3925f5ecc37a51 not-for-merge branch 'fix/runtime-robustness' of https://github.com/ZhuLinsen/daily_stock_analysis
3c378308b48b6f9b19a4a590805d396cf668c427 not-for-merge branch 'fix/skill-compat-followups' of https://github.com/ZhuLinsen/daily_stock_analysis
07c8e19135f805ccd6f51913a077a65642f2073e not-for-merge branch 'fix/trading-philosophy-injection-complete' of https://github.com/ZhuLinsen/daily_stock_analysis
528d39411253b6deb18d5da49d7a6d2ae607263f not-for-merge branch 'fix/tushare-http-client-init' of https://github.com/ZhuLinsen/daily_stock_analysis
8db149f1b0da2258ec15ba8e5a101f6785c297ff not-for-merge branch 'pr-919' of https://github.com/ZhuLinsen/daily_stock_analysis
2692b20c2d5a372444c436652ea66998262cb1f6 not-for-merge tag 'v3.1.10' of https://github.com/ZhuLinsen/daily_stock_analysis
b19a4d0df9c040907965ab177df5f775ecdf9aa2 not-for-merge tag 'v3.1.11' of https://github.com/ZhuLinsen/daily_stock_analysis
542c8e4314fe2955a4050f56f2d2c93df8e15690 not-for-merge tag 'v3.1.12' of https://github.com/ZhuLinsen/daily_stock_analysis
5414a6de80442388b1c7b0eb0ae3a8aba3d7dfa1 not-for-merge tag 'v3.1.13' of https://github.com/ZhuLinsen/daily_stock_analysis
84a3da99533bdf9f994f81fd4bb2f6dfb4d43091 not-for-merge tag 'v3.1.8' of https://github.com/ZhuLinsen/daily_stock_analysis
6a7c08d52ed056b75f11e8dd00a341fa88df478a not-for-merge tag 'v3.1.9' of https://github.com/ZhuLinsen/daily_stock_analysis
edd51c858d06d68d964f1c9c5f651b4a827b142d not-for-merge tag 'v3.10.0' of https://github.com/ZhuLinsen/daily_stock_analysis
4914a95cab165b19e183ff37dbbecdb42ce8f9eb not-for-merge tag 'v3.10.1' of https://github.com/ZhuLinsen/daily_stock_analysis
863c268053d3a65b65c9c3a8d7f444d026e584c3 not-for-merge tag 'v3.11.0' of https://github.com/ZhuLinsen/daily_stock_analysis
d1bb085c7cafef762b38b78e67984a7eaf1a237b not-for-merge tag 'v3.12.0' of https://github.com/ZhuLinsen/daily_stock_analysis
498770616f43ef3a554e249b87be7372928f1aa7 not-for-merge tag 'v3.2.0' of https://github.com/ZhuLinsen/daily_stock_analysis
b8ca520f195b98421b4b86e44118d2a939fb6fbe not-for-merge tag 'v3.2.1' of https://github.com/ZhuLinsen/daily_stock_analysis
e780f840a33c1adc78e92a8392789029ac37fb87 not-for-merge tag 'v3.2.10' of https://github.com/ZhuLinsen/daily_stock_analysis
c9b01fead240b7ccbecdd0448350ac32feb45622 not-for-merge tag 'v3.2.11' of https://github.com/ZhuLinsen/daily_stock_analysis
7cf19251798a01238f8bc681f1cf24ccb83f0131 not-for-merge tag 'v3.2.2' of https://github.com/ZhuLinsen/daily_stock_analysis
648bf5b6384a2cf3bb6bf53316979b9d1d0b03c5 not-for-merge tag 'v3.2.3' of https://github.com/ZhuLinsen/daily_stock_analysis
9955b8ab520b8154111dd251aa65d9ba5c0b8d4a not-for-merge tag 'v3.2.4' of https://github.com/ZhuLinsen/daily_stock_analysis
88fdaf79332a1d096ac5a647c1d89229abfd2327 not-for-merge tag 'v3.2.5' of https://github.com/ZhuLinsen/daily_stock_analysis
879b25950a8523603c8c4202e09df6d87bb9d1b0 not-for-merge tag 'v3.2.6' of https://github.com/ZhuLinsen/daily_stock_analysis
32162ff7455baa3ffc10241d5a7c0346a5288ace not-for-merge tag 'v3.2.7' of https://github.com/ZhuLinsen/daily_stock_analysis
0780cfbd7d1296d0345ae71510173adfb4bce61c not-for-merge tag 'v3.2.8' of https://github.com/ZhuLinsen/daily_stock_analysis
1e0a525fb2e87a5c9d93ced3cc3166bc32a09bae not-for-merge tag 'v3.2.9' of https://github.com/ZhuLinsen/daily_stock_analysis
5acd1c63a7b34720c7cd9439f002f824daa17f19 not-for-merge tag 'v3.3.0' of https://github.com/ZhuLinsen/daily_stock_analysis
d40ff8893ee0764f056f90192087149e83da8b34 not-for-merge tag 'v3.3.1' of https://github.com/ZhuLinsen/daily_stock_analysis
f42884638b371c32c8043f0b175941f6d0e471a5 not-for-merge tag 'v3.3.10' of https://github.com/ZhuLinsen/daily_stock_analysis
4e030c39589c495e70521fbff905b9fb0971d904 not-for-merge tag 'v3.3.11' of https://github.com/ZhuLinsen/daily_stock_analysis
c66fd3cf13b5b2e86791a5e2f50a124194d7ed83 not-for-merge tag 'v3.3.12' of https://github.com/ZhuLinsen/daily_stock_analysis
026630adb40efa7cd3687c8bc9e1260e3d8ad8b2 not-for-merge tag 'v3.3.13' of https://github.com/ZhuLinsen/daily_stock_analysis
75896f6d05c8e1f6d996ae92b45a36d37e935bbd not-for-merge tag 'v3.3.14' of https://github.com/ZhuLinsen/daily_stock_analysis
91a5c84c932c75f81098e53f765f022593c293c6 not-for-merge tag 'v3.3.15' of https://github.com/ZhuLinsen/daily_stock_analysis
e1695eccb060349b1bd52567a01abd112d7cbf3e not-for-merge tag 'v3.3.16' of https://github.com/ZhuLinsen/daily_stock_analysis
b1e6f03796c82b93748ac190970f18ba3434aee8 not-for-merge tag 'v3.3.17' of https://github.com/ZhuLinsen/daily_stock_analysis
c2ac509f96b0f2f48f5ffd652fdec5bc9cca330d not-for-merge tag 'v3.3.18' of https://github.com/ZhuLinsen/daily_stock_analysis
29a22af1f3d79c8e39fbd52d933952427613e7ef not-for-merge tag 'v3.3.19' of https://github.com/ZhuLinsen/daily_stock_analysis
39848b80a1bd0c862e4dc09ce30a716bcb925afe not-for-merge tag 'v3.3.2' of https://github.com/ZhuLinsen/daily_stock_analysis
b2326e9439f613b3466f340924e714355c2457bc not-for-merge tag 'v3.3.20' of https://github.com/ZhuLinsen/daily_stock_analysis
605224bd5a22ac521dbb581252065dac63f70926 not-for-merge tag 'v3.3.21' of https://github.com/ZhuLinsen/daily_stock_analysis
b0986655a952c871e0c82c31ab0825e658d27a95 not-for-merge tag 'v3.3.22' of https://github.com/ZhuLinsen/daily_stock_analysis
4bc362baf6aae35e64675dd1cc3e10bb9853dacc not-for-merge tag 'v3.3.23' of https://github.com/ZhuLinsen/daily_stock_analysis
036ca1c508bdc5cebd10d86267508e4cd730384f not-for-merge tag 'v3.3.24' of https://github.com/ZhuLinsen/daily_stock_analysis
ddd6aaa8e1f00721bec2661058b57b9166f1a95d not-for-merge tag 'v3.3.25' of https://github.com/ZhuLinsen/daily_stock_analysis
38b399143e48ebcac29613fe615d65ecd7265a1b not-for-merge tag 'v3.3.26' of https://github.com/ZhuLinsen/daily_stock_analysis
629e311d654726c86d628457296df8c745e66b5e not-for-merge tag 'v3.3.27' of https://github.com/ZhuLinsen/daily_stock_analysis
9249de1e53db2b54a67339cf28c5bedea2b8d89c not-for-merge tag 'v3.3.28' of https://github.com/ZhuLinsen/daily_stock_analysis
2349ac90c70f6e208d6f3e71c043bdbdcf333f40 not-for-merge tag 'v3.3.29' of https://github.com/ZhuLinsen/daily_stock_analysis
c7a670a31c67c2d5e28244b2b577e9a664241fa8 not-for-merge tag 'v3.3.3' of https://github.com/ZhuLinsen/daily_stock_analysis
115811e319d9509ecf1dbbe072d10830ca09f4ac not-for-merge tag 'v3.3.30' of https://github.com/ZhuLinsen/daily_stock_analysis
46a8af487db44cce47afce1c9dc9d82ad03cef2f not-for-merge tag 'v3.3.31' of https://github.com/ZhuLinsen/daily_stock_analysis
69752b6855512084fa45f168c63456ceba204414 not-for-merge tag 'v3.3.32' of https://github.com/ZhuLinsen/daily_stock_analysis
292c638f3a74fac4b3f1a35560fa5b02cc15a111 not-for-merge tag 'v3.3.4' of https://github.com/ZhuLinsen/daily_stock_analysis
0e2e11154581d80ab53ae9a7eb4c1b1ef1e24fdc not-for-merge tag 'v3.3.5' of https://github.com/ZhuLinsen/daily_stock_analysis
84260ee690fae17afa9e66902c9a5af0f41a3efe not-for-merge tag 'v3.3.6' of https://github.com/ZhuLinsen/daily_stock_analysis
3e1e8ea86edbdb6dbb13e8645b9bffab1062a148 not-for-merge tag 'v3.3.7' of https://github.com/ZhuLinsen/daily_stock_analysis
80907150357f0f550efdfee24f848851b542a08b not-for-merge tag 'v3.3.8' of https://github.com/ZhuLinsen/daily_stock_analysis
17402ce960ab7b57d7f809ed2741f725a50335e4 not-for-merge tag 'v3.3.9' of https://github.com/ZhuLinsen/daily_stock_analysis
0154992e18f6a5a09199a151ee75661e78b9c12f not-for-merge tag 'v3.4.0' of https://github.com/ZhuLinsen/daily_stock_analysis
c644e0144ee7a54c7a671b13ba3851a2036cc772 not-for-merge tag 'v3.4.1' of https://github.com/ZhuLinsen/daily_stock_analysis
b504a6e08783d181ba845cfed08d1b1e60d50615 not-for-merge tag 'v3.4.10' of https://github.com/ZhuLinsen/daily_stock_analysis
c4e94203ff5ab49bcf781faaca509ea02cea6d2d not-for-merge tag 'v3.4.11' of https://github.com/ZhuLinsen/daily_stock_analysis
a67933e226d04da7538066f3376bed89ab43c22d not-for-merge tag 'v3.4.2' of https://github.com/ZhuLinsen/daily_stock_analysis
b77519fbfbd69c13cbdbf977106bff796f7a508e not-for-merge tag 'v3.4.3' of https://github.com/ZhuLinsen/daily_stock_analysis
4a6cd534ac35d68e162cd4cbbfaf3b4e16763997 not-for-merge tag 'v3.4.4' of https://github.com/ZhuLinsen/daily_stock_analysis
1fe967d4b174a433270929decd24a61968124c6a not-for-merge tag 'v3.4.5' of https://github.com/ZhuLinsen/daily_stock_analysis
c3242896baa3288ee33f3a8bd69cb37f2e22ac4f not-for-merge tag 'v3.4.6' of https://github.com/ZhuLinsen/daily_stock_analysis
24d55204d9556f7b26a06fd61c5b80856a200355 not-for-merge tag 'v3.4.7' of https://github.com/ZhuLinsen/daily_stock_analysis
fc16e99738737e821fb4996ae906a24968aab1f4 not-for-merge tag 'v3.4.8' of https://github.com/ZhuLinsen/daily_stock_analysis
3b49bf086a0deb70c06a54ce5104359350c775fe not-for-merge tag 'v3.4.9' of https://github.com/ZhuLinsen/daily_stock_analysis
1f74930b73fdd6eb425774a4010a1f762bbb5ee8 not-for-merge tag 'v3.5.0' of https://github.com/ZhuLinsen/daily_stock_analysis
0c66e5aac8c93f82fce7c66b1374657f216d3b23 not-for-merge tag 'v3.6.0' of https://github.com/ZhuLinsen/daily_stock_analysis
bd7b8bd50ebb96bc3c3292be5e667fd2ff3995ed not-for-merge tag 'v3.7.0' of https://github.com/ZhuLinsen/daily_stock_analysis
9cb0b6783383977606ab75f5e9764854594230e5 not-for-merge tag 'v3.8.0' of https://github.com/ZhuLinsen/daily_stock_analysis
62aa45fb4793c2a27841f602db5a5d32e249ede1 not-for-merge tag 'v3.9.0' of https://github.com/ZhuLinsen/daily_stock_analysis

@ -0,0 +1 @@
ref: refs/heads/main

@ -0,0 +1 @@
5f21df5a9576ceece08fe2963cfd77bdbd493390

@ -0,0 +1,14 @@
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://github.com/ZhuLinsen/daily_stock_analysis.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
vscode-merge-base = origin/main

@ -0,0 +1 @@
Unnamed repository; edit this file 'description' to name the repository.

@ -0,0 +1,15 @@
#!/bin/sh
#
# An example hook script to check the commit log message taken by
# applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit. The hook is
# allowed to edit the commit message file.
#
# To enable this hook, rename this file to "applypatch-msg".
. git-sh-setup
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
:

@ -0,0 +1,24 @@
#!/bin/sh
#
# An example hook script to check the commit log message.
# Called by "git commit" with one argument, the name of the file
# that has the commit message. The hook should exit with non-zero
# status after issuing an appropriate message if it wants to stop the
# commit. The hook is allowed to edit the commit message file.
#
# To enable this hook, rename this file to "commit-msg".
# Uncomment the below to add a Signed-off-by line to the message.
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
# hook is more suited to it.
#
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
# This example catches duplicate Signed-off-by lines.
test "" = "$(grep '^Signed-off-by: ' "$1" |
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
echo >&2 Duplicate Signed-off-by lines.
exit 1
}

@ -0,0 +1,173 @@
#!/usr/bin/perl
use strict;
use warnings;
use IPC::Open2;
# An example hook script to integrate Watchman
# (https://facebook.github.io/watchman/) with git to speed up detecting
# new and modified files.
#
# The hook is passed a version (currently 2) and last update token
# formatted as a string and outputs to stdout a new update token and
# all files that have been modified since the update token. Paths must
# be relative to the root of the working tree and separated by a single NUL.
#
# To enable this hook, rename this file to "query-watchman" and set
# 'git config core.fsmonitor .git/hooks/query-watchman'
#
my ($version, $last_update_token) = @ARGV;
# Uncomment for debugging
# print STDERR "$0 $version $last_update_token\n";
# Check the hook interface version
if ($version ne 2) {
die "Unsupported query-fsmonitor hook version '$version'.\n" .
"Falling back to scanning...\n";
}
my $git_work_tree = get_working_dir();
my $retry = 1;
my $json_pkg;
eval {
require JSON::XS;
$json_pkg = "JSON::XS";
1;
} or do {
require JSON::PP;
$json_pkg = "JSON::PP";
};
launch_watchman();
sub launch_watchman {
my $o = watchman_query();
if (is_work_tree_watched($o)) {
output_result($o->{clock}, @{$o->{files}});
}
}
sub output_result {
my ($clockid, @files) = @_;
# Uncomment for debugging watchman output
# open (my $fh, ">", ".git/watchman-output.out");
# binmode $fh, ":utf8";
# print $fh "$clockid\n@files\n";
# close $fh;
binmode STDOUT, ":utf8";
print $clockid;
print "\0";
local $, = "\0";
print @files;
}
sub watchman_clock {
my $response = qx/watchman clock "$git_work_tree"/;
die "Failed to get clock id on '$git_work_tree'.\n" .
"Falling back to scanning...\n" if $? != 0;
return $json_pkg->new->utf8->decode($response);
}
sub watchman_query {
my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
or die "open2() failed: $!\n" .
"Falling back to scanning...\n";
# In the query expression below we're asking for names of files that
# changed since $last_update_token but not from the .git folder.
#
# To accomplish this, we're using the "since" generator to use the
# recency index to select candidate nodes and "fields" to limit the
# output to file names only. Then we're using the "expression" term to
# further constrain the results.
if (substr($last_update_token, 0, 1) eq "c") {
$last_update_token = "\"$last_update_token\"";
}
my $query = <<" END";
["query", "$git_work_tree", {
"since": $last_update_token,
"fields": ["name"],
"expression": ["not", ["dirname", ".git"]]
}]
END
# Uncomment for debugging the watchman query
# open (my $fh, ">", ".git/watchman-query.json");
# print $fh $query;
# close $fh;
print CHLD_IN $query;
close CHLD_IN;
my $response = do {local $/; <CHLD_OUT>};
# Uncomment for debugging the watch response
# open ($fh, ">", ".git/watchman-response.json");
# print $fh $response;
# close $fh;
die "Watchman: command returned no output.\n" .
"Falling back to scanning...\n" if $response eq "";
die "Watchman: command returned invalid output: $response\n" .
"Falling back to scanning...\n" unless $response =~ /^\{/;
return $json_pkg->new->utf8->decode($response);
}
sub is_work_tree_watched {
my ($output) = @_;
my $error = $output->{error};
if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
$retry--;
my $response = qx/watchman watch "$git_work_tree"/;
die "Failed to make watchman watch '$git_work_tree'.\n" .
"Falling back to scanning...\n" if $? != 0;
$output = $json_pkg->new->utf8->decode($response);
$error = $output->{error};
die "Watchman: $error.\n" .
"Falling back to scanning...\n" if $error;
# Uncomment for debugging watchman output
# open (my $fh, ">", ".git/watchman-output.out");
# close $fh;
# Watchman will always return all files on the first query so
# return the fast "everything is dirty" flag to git and do the
# Watchman query just to get it over with now so we won't pay
# the cost in git to look up each individual file.
my $o = watchman_clock();
$error = $output->{error};
die "Watchman: $error.\n" .
"Falling back to scanning...\n" if $error;
output_result($o->{clock}, ("/"));
$last_update_token = $o->{clock};
eval { launch_watchman() };
return 0;
}
die "Watchman: $error.\n" .
"Falling back to scanning...\n" if $error;
return 1;
}
sub get_working_dir {
my $working_dir;
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
$working_dir = Win32::GetCwd();
$working_dir =~ tr/\\/\//;
} else {
require Cwd;
$working_dir = Cwd::cwd();
}
return $working_dir;
}

@ -0,0 +1,8 @@
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
exec git update-server-info

@ -0,0 +1,14 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed
# by applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-applypatch".
. git-sh-setup
precommit="$(git rev-parse --git-path hooks/pre-commit)"
test -x "$precommit" && exec "$precommit" ${1+"$@"}
:

@ -0,0 +1,49 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=$(git hash-object -t tree /dev/null)
fi
# If you want to allow non-ASCII filenames set this variable to true.
allownonascii=$(git config --type=bool hooks.allownonascii)
# Redirect output to stderr.
exec 1>&2
# Cross platform projects tend to avoid non-ASCII filenames; prevent
# them from being added to the repository. We exploit the fact that the
# printable range starts at the space character and ends with tilde.
if [ "$allownonascii" != "true" ] &&
# Note that the use of brackets around a tr range is ok here, (it's
# even required, for portability to Solaris 10's /usr/bin/tr), since
# the square bracket bytes happen to fall in the designated range.
test $(git diff --cached --name-only --diff-filter=A -z $against |
LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
then
cat <<\EOF
Error: Attempt to add a non-ASCII file name.
This can cause problems if you want to work with people on other platforms.
To be portable it is advisable to rename the file.
If you know what you are doing you can disable this check using:
git config hooks.allownonascii true
EOF
exit 1
fi
# If there are whitespace errors, print the offending file names and fail.
exec git diff-index --check --cached $against --

@ -0,0 +1,13 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git merge" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message to
# stderr if it wants to stop the merge commit.
#
# To enable this hook, rename this file to "pre-merge-commit".
. git-sh-setup
test -x "$GIT_DIR/hooks/pre-commit" &&
exec "$GIT_DIR/hooks/pre-commit"
:

@ -0,0 +1,53 @@
#!/bin/sh
# An example hook script to verify what is about to be pushed. Called by "git
# push" after it has checked the remote status, but before anything has been
# pushed. If this script exits with a non-zero status nothing will be pushed.
#
# This hook is called with the following parameters:
#
# $1 -- Name of the remote to which the push is being done
# $2 -- URL to which the push is being done
#
# If pushing without using a named remote those arguments will be equal.
#
# Information about the commits which are being pushed is supplied as lines to
# the standard input in the form:
#
# <local ref> <local oid> <remote ref> <remote oid>
#
# This sample shows how to prevent push of commits where the log message starts
# with "WIP" (work in progress).
remote="$1"
url="$2"
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
while read local_ref local_oid remote_ref remote_oid
do
if test "$local_oid" = "$zero"
then
# Handle delete
:
else
if test "$remote_oid" = "$zero"
then
# New branch, examine all commits
range="$local_oid"
else
# Update to existing branch, examine new commits
range="$remote_oid..$local_oid"
fi
# Check for WIP commit
commit=$(git rev-list -n 1 --grep '^WIP' "$range")
if test -n "$commit"
then
echo >&2 "Found WIP commit in $local_ref, not pushing"
exit 1
fi
fi
done
exit 0

@ -0,0 +1,169 @@
#!/bin/sh
#
# Copyright (c) 2006, 2008 Junio C Hamano
#
# The "pre-rebase" hook is run just before "git rebase" starts doing
# its job, and can prevent the command from running by exiting with
# non-zero status.
#
# The hook is called with the following parameters:
#
# $1 -- the upstream the series was forked from.
# $2 -- the branch being rebased (or empty when rebasing the current branch).
#
# This sample shows how to prevent topic branches that are already
# merged to 'next' branch from getting rebased, because allowing it
# would result in rebasing already published history.
publish=next
basebranch="$1"
if test "$#" = 2
then
topic="refs/heads/$2"
else
topic=`git symbolic-ref HEAD` ||
exit 0 ;# we do not interrupt rebasing detached HEAD
fi
case "$topic" in
refs/heads/??/*)
;;
*)
exit 0 ;# we do not interrupt others.
;;
esac
# Now we are dealing with a topic branch being rebased
# on top of master. Is it OK to rebase it?
# Does the topic really exist?
git show-ref -q "$topic" || {
echo >&2 "No such branch $topic"
exit 1
}
# Is topic fully merged to master?
not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
if test -z "$not_in_master"
then
echo >&2 "$topic is fully merged to master; better remove it."
exit 1 ;# we could allow it, but there is no point.
fi
# Is topic ever merged to next? If so you should not be rebasing it.
only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
only_next_2=`git rev-list ^master ${publish} | sort`
if test "$only_next_1" = "$only_next_2"
then
not_in_topic=`git rev-list "^$topic" master`
if test -z "$not_in_topic"
then
echo >&2 "$topic is already up to date with master"
exit 1 ;# we could allow it, but there is no point.
else
exit 0
fi
else
not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
/usr/bin/perl -e '
my $topic = $ARGV[0];
my $msg = "* $topic has commits already merged to public branch:\n";
my (%not_in_next) = map {
/^([0-9a-f]+) /;
($1 => 1);
} split(/\n/, $ARGV[1]);
for my $elem (map {
/^([0-9a-f]+) (.*)$/;
[$1 => $2];
} split(/\n/, $ARGV[2])) {
if (!exists $not_in_next{$elem->[0]}) {
if ($msg) {
print STDERR $msg;
undef $msg;
}
print STDERR " $elem->[1]\n";
}
}
' "$topic" "$not_in_next" "$not_in_master"
exit 1
fi
<<\DOC_END
This sample hook safeguards topic branches that have been
published from being rewound.
The workflow assumed here is:
* Once a topic branch forks from "master", "master" is never
merged into it again (either directly or indirectly).
* Once a topic branch is fully cooked and merged into "master",
it is deleted. If you need to build on top of it to correct
earlier mistakes, a new topic branch is created by forking at
the tip of the "master". This is not strictly necessary, but
it makes it easier to keep your history simple.
* Whenever you need to test or publish your changes to topic
branches, merge them into "next" branch.
The script, being an example, hardcodes the publish branch name
to be "next", but it is trivial to make it configurable via
$GIT_DIR/config mechanism.
With this workflow, you would want to know:
(1) ... if a topic branch has ever been merged to "next". Young
topic branches can have stupid mistakes you would rather
clean up before publishing, and things that have not been
merged into other branches can be easily rebased without
affecting other people. But once it is published, you would
not want to rewind it.
(2) ... if a topic branch has been fully merged to "master".
Then you can delete it. More importantly, you should not
build on top of it -- other people may already want to
change things related to the topic as patches against your
"master", so if you need further changes, it is better to
fork the topic (perhaps with the same name) afresh from the
tip of "master".
Let's look at this example:
o---o---o---o---o---o---o---o---o---o "next"
/ / / /
/ a---a---b A / /
/ / / /
/ / c---c---c---c B /
/ / / \ /
/ / / b---b C \ /
/ / / / \ /
---o---o---o---o---o---o---o---o---o---o---o "master"
A, B and C are topic branches.
* A has one fix since it was merged up to "next".
* B has finished. It has been fully merged up to "master" and "next",
and is ready to be deleted.
* C has not merged to "next" at all.
We would want to allow C to be rebased, refuse A, and encourage
B to be deleted.
To compute (1):
git rev-list ^master ^topic next
git rev-list ^master next
if these match, topic has not merged in next at all.
To compute (2):
git rev-list master..topic
if this is empty, it is fully merged to "master".
DOC_END

@ -0,0 +1,24 @@
#!/bin/sh
#
# An example hook script to make use of push options.
# The example simply echoes all push options that start with 'echoback='
# and rejects all pushes when the "reject" push option is used.
#
# To enable this hook, rename this file to "pre-receive".
if test -n "$GIT_PUSH_OPTION_COUNT"
then
i=0
while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
do
eval "value=\$GIT_PUSH_OPTION_$i"
case "$value" in
echoback=*)
echo "echo from the pre-receive-hook: ${value#*=}" >&2
;;
reject)
exit 1
esac
i=$((i + 1))
done
fi

@ -0,0 +1,42 @@
#!/bin/sh
#
# An example hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source. The hook's purpose is to edit the commit
# message file. If the hook fails with a non-zero status,
# the commit is aborted.
#
# To enable this hook, rename this file to "prepare-commit-msg".
# This hook includes three examples. The first one removes the
# "# Please enter the commit message..." help message.
#
# The second includes the output of "git diff --name-status -r"
# into the message, just before the "git status" output. It is
# commented because it doesn't cope with --amend or with squashed
# commits.
#
# The third example adds a Signed-off-by line to the message, that can
# still be edited. This is rarely a good idea.
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
# case "$COMMIT_SOURCE,$SHA1" in
# ,|template,)
# /usr/bin/perl -i.bak -pe '
# print "\n" . `git diff --cached --name-status -r`
# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
# *) ;;
# esac
# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
# if test -z "$COMMIT_SOURCE"
# then
# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
# fi

@ -0,0 +1,78 @@
#!/bin/sh
# An example hook script to update a checked-out tree on a git push.
#
# This hook is invoked by git-receive-pack(1) when it reacts to git
# push and updates reference(s) in its repository, and when the push
# tries to update the branch that is currently checked out and the
# receive.denyCurrentBranch configuration variable is set to
# updateInstead.
#
# By default, such a push is refused if the working tree and the index
# of the remote repository has any difference from the currently
# checked out commit; when both the working tree and the index match
# the current commit, they are updated to match the newly pushed tip
# of the branch. This hook is to be used to override the default
# behaviour; however the code below reimplements the default behaviour
# as a starting point for convenient modification.
#
# The hook receives the commit with which the tip of the current
# branch is going to be updated:
commit=$1
# It can exit with a non-zero status to refuse the push (when it does
# so, it must not modify the index or the working tree).
die () {
echo >&2 "$*"
exit 1
}
# Or it can make any necessary changes to the working tree and to the
# index to bring them to the desired state when the tip of the current
# branch is updated to the new commit, and exit with a zero status.
#
# For example, the hook can simply run git read-tree -u -m HEAD "$1"
# in order to emulate git fetch that is run in the reverse direction
# with git push, as the two-tree form of git read-tree -u -m is
# essentially the same as git switch or git checkout that switches
# branches while keeping the local changes in the working tree that do
# not interfere with the difference between the branches.
# The below is a more-or-less exact translation to shell of the C code
# for the default behaviour for git's push-to-checkout hook defined in
# the push_to_deploy() function in builtin/receive-pack.c.
#
# Note that the hook will be executed from the repository directory,
# not from the working tree, so if you want to perform operations on
# the working tree, you will have to adapt your code accordingly, e.g.
# by adding "cd .." or using relative paths.
if ! git update-index -q --ignore-submodules --refresh
then
die "Up-to-date check failed"
fi
if ! git diff-files --quiet --ignore-submodules --
then
die "Working directory has unstaged changes"
fi
# This is a rough translation of:
#
# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
if git cat-file -e HEAD 2>/dev/null
then
head=HEAD
else
head=$(git hash-object -t tree --stdin </dev/null)
fi
if ! git diff-index --quiet --cached --ignore-submodules $head --
then
die "Working directory has staged changes"
fi
if ! git read-tree -u -m "$commit"
then
die "Could not update working tree to new HEAD"
fi

@ -0,0 +1,128 @@
#!/bin/sh
#
# An example hook script to block unannotated tags from entering.
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
#
# To enable this hook, rename this file to "update".
#
# Config
# ------
# hooks.allowunannotated
# This boolean sets whether unannotated tags will be allowed into the
# repository. By default they won't be.
# hooks.allowdeletetag
# This boolean sets whether deleting tags will be allowed in the
# repository. By default they won't be.
# hooks.allowmodifytag
# This boolean sets whether a tag may be modified after creation. By default
# it won't be.
# hooks.allowdeletebranch
# This boolean sets whether deleting branches will be allowed in the
# repository. By default they won't be.
# hooks.denycreatebranch
# This boolean sets whether remotely creating branches will be denied
# in the repository. By default this is allowed.
#
# --- Command line
refname="$1"
oldrev="$2"
newrev="$3"
# --- Safety check
if [ -z "$GIT_DIR" ]; then
echo "Don't run this script from the command line." >&2
echo " (if you want, you could supply GIT_DIR then run" >&2
echo " $0 <ref> <oldrev> <newrev>)" >&2
exit 1
fi
if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
echo "usage: $0 <ref> <oldrev> <newrev>" >&2
exit 1
fi
# --- Config
allowunannotated=$(git config --type=bool hooks.allowunannotated)
allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
# check for no description
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
case "$projectdesc" in
"Unnamed repository"* | "")
echo "*** Project description file hasn't been set" >&2
exit 1
;;
esac
# --- Check types
# if $newrev is 0000...0000, it's a commit to delete a ref.
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
if [ "$newrev" = "$zero" ]; then
newrev_type=delete
else
newrev_type=$(git cat-file -t $newrev)
fi
case "$refname","$newrev_type" in
refs/tags/*,commit)
# un-annotated tag
short_refname=${refname##refs/tags/}
if [ "$allowunannotated" != "true" ]; then
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
exit 1
fi
;;
refs/tags/*,delete)
# delete tag
if [ "$allowdeletetag" != "true" ]; then
echo "*** Deleting a tag is not allowed in this repository" >&2
exit 1
fi
;;
refs/tags/*,tag)
# annotated tag
if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
then
echo "*** Tag '$refname' already exists." >&2
echo "*** Modifying a tag is not allowed in this repository." >&2
exit 1
fi
;;
refs/heads/*,commit)
# branch
if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
echo "*** Creating a branch is not allowed in this repository" >&2
exit 1
fi
;;
refs/heads/*,delete)
# delete branch
if [ "$allowdeletebranch" != "true" ]; then
echo "*** Deleting a branch is not allowed in this repository" >&2
exit 1
fi
;;
refs/remotes/*,commit)
# tracking branch
;;
refs/remotes/*,delete)
# delete tracking branch
if [ "$allowdeletebranch" != "true" ]; then
echo "*** Deleting a tracking branch is not allowed in this repository" >&2
exit 1
fi
;;
*)
# Anything else (is there anything else?)
echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
exit 1
;;
esac
# --- Finished
exit 0

Binary file not shown.

@ -0,0 +1,6 @@
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

@ -0,0 +1,61 @@
# pack-refs with: peeled fully-peeled sorted
7a556d2b099d38cef642fa8fe59f43c040db0b38 refs/remotes/origin/analysis/fix-docker-webui-port-env-221
4d7aa88c7d919edb337777369d08592981eda108 refs/remotes/origin/bugfix/package-import-error
583d93d1b459dd1f43f25b8a6d1332cb2486603b refs/remotes/origin/chore/codeowners-default-owner
5aa702db5dcccba5c2a99fa5b929c2d0ec30100e refs/remotes/origin/docs/readme-sync-20260201
5d5d2617af1c53a9af33eeb0af6ed57b57df3e16 refs/remotes/origin/fear/email-and-search-improvements
f2a03be0a7122674e88d4ea14bc8c7ed0dc90664 refs/remotes/origin/feat/etf-support-and-code-normalization
a509b61e77f21e327c117d3cda6d7dc6f845d154 refs/remotes/origin/feat/unified-webui
908dd1081f431a64758f1bc21c6b226b0ae6cab6 refs/remotes/origin/fix/etf-market-data-and-wechat-split
cd0df5627bc6c0e87d6303565a53d47cc04922c9 refs/remotes/origin/fix/report-quality-and-data-enhancements
15e82f266c9537588cd137ec04b9f18a5cdc4c4a refs/remotes/origin/fix/webui-telegram
5f21df5a9576ceece08fe2963cfd77bdbd493390 refs/remotes/origin/main
6f9e87c60c2621264a20d1a0137d601519ddca09 refs/remotes/origin/test0114
1224b8ca6afacd40912fb956a30ca78939f58dbe refs/tags/v1.0.0
^48ca4ee74271852d365cd77f28c22c35fc9f8a1d
73fc0920d1cdecc6411078f503869117f0473e7e refs/tags/v1.6.0
fa91c1b662e789076dae0f853436380d227993a1 refs/tags/v2.0.0
^7a7695d88a65f4a06cc6de1bdcefd62798376110
373293ece4f773d4db8e6c9dacc5c4db8183a8c9 refs/tags/v2.1.0
^0541c6f4082739c588e353741d02a932bf013f1a
6e0f7ef1b98765a74cd62dad7aaca48c13cea22e refs/tags/v2.1.1
34c34f99a8b255809ceb0cd1a327e236408d7c37 refs/tags/v2.1.10
5537853b1e8e15b5c2880642e6aff5102f9db90c refs/tags/v2.1.11
9a60f94df15c57416f10a60989927711fe438b0f refs/tags/v2.1.12
6c6eaf8c6ae2c12c536adc06bd7853fcc79e1f09 refs/tags/v2.1.13
97b08a89094dfed4af4873fb5df60e91359bf48a refs/tags/v2.1.14
77671cc6a2c100e4cc5db3657c9473ee77b3d74f refs/tags/v2.1.2
b13ca62972ca1eb8001d60654155bcac8936e229 refs/tags/v2.1.3
afcb9d1470cf5d8434c367825dcbc39181ae974c refs/tags/v2.1.4
5bf23c28277eb592855933f69f0b3affbdcf0edc refs/tags/v2.1.5
ea3ce3c8034cb553ed2f2ac97fada6ce658dc6c4 refs/tags/v2.1.6
8ebad0ad215742fd87ffc9260dfb0bf97738d6ae refs/tags/v2.1.7
ff5e4c3a98afe30e6456a597463bf6807abce1a3 refs/tags/v2.1.8
27dfa3f397e22124fcb8fba9fedf9be5f3adf7c8 refs/tags/v2.1.9
c6fc79d9a0eaadbcb8728be69e5406947b4ba307 refs/tags/v2.2.0
b27ca5e7c46f565e7f4dc992fb53c42d8b24d5e4 refs/tags/v2.2.1
acbde32e03960fc2a9c9aaa7f2e257cdf069b50b refs/tags/v2.2.2
286f73275ec3c10bc562294e18106808fd4f79c3 refs/tags/v2.2.3
01f866effc365e6d8c5255e27285af9b5e3db1e8 refs/tags/v2.2.4
f976de75d938db938348e843918cf41cff545485 refs/tags/v2.2.5
231eccdc9c68673b679dff6cbbdb3778578189a4 refs/tags/v2.3.0
1e63e65ce09142a1e8ca181855b6ab7cd3e4c7f0 refs/tags/v2.3.1
ccdbd64fb7669671a64a546de4e9729a77ab802b refs/tags/v2.3.2
52917baa02210fb7911491fcf48ecbf3f70e5812 refs/tags/v3.0.0
bb284ef976f32f3194d04e0b9d51e77f1f2ab526 refs/tags/v3.0.1
276ec0a3c799fa0623d5ee8a8641fe49a50c0037 refs/tags/v3.0.2
428f5371d21db403ae4b7b757222eb11e4a3fa4c refs/tags/v3.0.3
dbe1cd7cae777a0db7380117ce0db090085cc874 refs/tags/v3.0.4
8f30f9093dbad81c0b3014d05571373436aa412d refs/tags/v3.0.5
0e47e8a73760165d7e2433e24b55d370e8a14af0 refs/tags/v3.0.6
ed7228cc1956a18cf2a963f751d3cfad20f575a8 refs/tags/v3.0.7
50b75b6db5674eb705e252f78ced702ded6f090f refs/tags/v3.0.8
64a263da85cab91aefde7590671591e7349baad2 refs/tags/v3.0.9
0fbef07b8588d42db4055e2334a05a84e54eefec refs/tags/v3.1.0
aafbb5f2ba28a19e9b2e39438d82cd652a575939 refs/tags/v3.1.1
4c791a2818427fe1705e117dbba3ece9cd8d1e4a refs/tags/v3.1.2
6339cfc818b4ef306c7e9a4a73f78e8cccd3c21b refs/tags/v3.1.3
184084e415b8b0a8c4f28a1958ac6a6e2bda6449 refs/tags/v3.1.4
5883dc41bde4906c8b8d83b920d3fd1778ec1ee0 refs/tags/v3.1.5
996aba1095b3f8c729a2518bdf0f8b862a80d589 refs/tags/v3.1.6
5f21df5a9576ceece08fe2963cfd77bdbd493390 refs/tags/v3.1.7

@ -0,0 +1 @@
5f21df5a9576ceece08fe2963cfd77bdbd493390

@ -0,0 +1 @@
ref: refs/remotes/origin/main

@ -0,0 +1 @@
9990f21e8fa42d3d0c997e1bbdcc32fbdeabd5f0

@ -0,0 +1 @@
3f1cfa1902caf7233526b2b3a24e1a5f0462c51f

@ -0,0 +1 @@
01f72edee9fe0cbf0eb7dcefbea7ad5983ee54a2

@ -0,0 +1 @@
8caf7445e90fe65d11b8418a808b1e668da7ad81

@ -0,0 +1 @@
027272a1a0e1b6007b5f767128dacfac0d6717cd

@ -0,0 +1 @@
e08619621b3b6a82ff6e92ed8855c40d5943a8c0

@ -0,0 +1 @@
3bdad39fc336edb678603bc4b0e7ddb33c3cae98

@ -0,0 +1 @@
e7757b0db95a74f50d2d0b8b3e209a4e7e102b49

@ -0,0 +1 @@
84b635a6e04940f14f2421fefff42ba312a03307

@ -0,0 +1 @@
7fbb389ec11c8eeb984ec4e9e73ce0582ce4360b

@ -0,0 +1 @@
d3aa23f0975b5472aa6dd934acc16f7569d19aa1

@ -0,0 +1 @@
8449670a5fe194e32cba254d62680da01496043e

@ -0,0 +1 @@
38596a2bbe2e2a32f071aaf850670fca03096135

@ -0,0 +1 @@
7dd3a226cb6329e0b359716c26c37418b01fc959

@ -0,0 +1 @@
e60cd15a2bcb63478f15c95184bc5ef9c2eb17fe

@ -0,0 +1 @@
f49f2884d13042a3194d209eedd54c1a780eccf3

@ -0,0 +1 @@
9ae8b04a91be289bbe1906182d16894b4faca772

@ -0,0 +1 @@
6b7ab16a111890734935973f9e92f443460908f7

@ -0,0 +1 @@
02c2ee45efc9f320f43b4942074b866fc2b54c9e

@ -0,0 +1 @@
778168f9de58d66721e013530f932197a1fe4af7

@ -0,0 +1 @@
7175dd29259de4084b8f477e4301a500911147a8

@ -0,0 +1 @@
cc745ac641fe0e43b3e272669ca53b613b1c51b4

@ -0,0 +1 @@
183af0af2520385e44f03bd05271b698794ba6b7

@ -0,0 +1 @@
4b23a4b9986d53fc8531fc4c7e12436b684a5c94

@ -0,0 +1 @@
44ca7f54afbc2d8eb2031fd0002ca8eda64f4b40

@ -0,0 +1 @@
3e31b26e72e4f599892597bb148a28bed5ae09cd

@ -0,0 +1 @@
42e0e0be50e956372dedf6b212ce11cd01701f73

@ -0,0 +1 @@
075cbf98e25b3ae38b779c6be9208005efb55964

@ -0,0 +1 @@
3bdf9903b682bbcb5163c36c5880f5979c035038

@ -0,0 +1 @@
8e3e5c72407e0fbf0610948366de6aefef0d74ce

@ -0,0 +1 @@
19cb475350d1176b69390c3a8baef0571be39969

@ -0,0 +1 @@
7b9c03c6401b3332e7e202e312f5c72630c2a7e0

@ -0,0 +1 @@
f6a88b85826497ef1888b939974965851b627315

@ -0,0 +1 @@
6cdbd682eb4c088e20cd1c2795fb766ff9087da0

@ -0,0 +1 @@
fd47fc20b6af24d9eaa2acfa2703d2d2d81a0ee0

@ -0,0 +1 @@
660ff09fde3d88b0e0a4cded20b2f2a9c8ceaecc

@ -0,0 +1 @@
ffc8e725ee17528da8d3c686bd40c1500025ec8e

@ -0,0 +1 @@
3c997f4811f2c3d850dc8977c5cb036c74cae00e

@ -0,0 +1 @@
046a7166d7303ed17522418133c3fad778b40e91

@ -0,0 +1 @@
fcf333798904385de4ad956663c63fafecb24a57

@ -0,0 +1 @@
e0d8ed566799dec2211a6bd52cdb8503cb897641

@ -0,0 +1 @@
26f2e2e162dc8c2aca605dfb17cb0b95792e0192

@ -0,0 +1 @@
8ee34dbb1c4241cf0e705e17b9922eabd3257d86

@ -0,0 +1 @@
ae4aef3efa852fb40f258592556265c0774cb0f3

@ -0,0 +1 @@
6c914ff91e434c7a823331ed08ed3e8d7b3b94a3

@ -0,0 +1 @@
144e015a8073ade434709ae5288825b1c5e2b344

@ -0,0 +1 @@
dba9f3a3e4b8b419e7037726dfb1b1e8a46b3351

@ -0,0 +1 @@
b91b01d5ec4dae06eeec1fca1201fe5f60147152

@ -0,0 +1 @@
9b9e73f0c09587385f4423043d7bb95dc01d6322

@ -0,0 +1 @@
2b152174b95f15c176485ce095b7f43388845333

@ -0,0 +1 @@
2c3d44ca9fc4a193358787d62b1d3b1e600bf45f

@ -0,0 +1 @@
dd4c7184d1c8c13417bcb75eb75cb7cdd2201b42

@ -0,0 +1 @@
6937a1521d782410ea50c16a982ffd58709aae2a

@ -0,0 +1 @@
28126db5bd7bcba9897063831f72dce1ccef6cf3

@ -0,0 +1 @@
b08e14012b5322701354155a37a0cb676e5713b3

@ -0,0 +1 @@
9cd1d2f1ea96fb0dea6f2bbd0f1b6c5be16a1add

@ -0,0 +1 @@
50c4171736680da3c44cba9a5009e2ecb31bb7dc

@ -0,0 +1 @@
a9af3957f3aab155d67cd0645336160cabcaabf0

@ -0,0 +1 @@
e22278eb904543c5db177084488fcabb627cc101

@ -0,0 +1 @@
0f49c461f2d95af02b780eebd48d5871a278d47d

@ -0,0 +1 @@
b30873901ed74126648eabebb919b8a6eb8effab

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save