Windows Fixed.

This commit is contained in:
saturneric 2019-03-14 01:06:15 +08:00
parent 0a70306c97
commit 1eedbdce2b
6 changed files with 123 additions and 200 deletions

218
.idea/workspace.xml generated
View File

@ -2,7 +2,12 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d703f139-38f3-455d-a086-a2da561870b5" name="Default Changelist" comment=""> <list default="true" id="d703f139-38f3-455d-a086-a2da561870b5" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/change.py" beforeDir="false" afterPath="$PROJECT_DIR$/change.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/git.py" beforeDir="false" afterPath="$PROJECT_DIR$/git.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/keygen.py" beforeDir="false" afterPath="$PROJECT_DIR$/keygen.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/sshtool.py" beforeDir="false" afterPath="$PROJECT_DIR$/sshtool.py" afterDir="false" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -11,12 +16,12 @@
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="CoverageDataManager"> <component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/giteasy$main.coverage" NAME="main Coverage Results" MODIFIED="1552453031291" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$Debug.coverage" NAME="Debug Coverage Results" MODIFIED="1552305147101" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$ssh.coverage" NAME="ssh Coverage Results" MODIFIED="1552191792390" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/giteasy$ssh.coverage" NAME="ssh Coverage Results" MODIFIED="1552191792390" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$window.coverage" NAME="window Coverage Results" MODIFIED="1552378199288" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/giteasy$window.coverage" NAME="window Coverage Results" MODIFIED="1552378199288" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$branchmanager.coverage" NAME="branchmanager Coverage Results" MODIFIED="1552413252082" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$keygen.coverage" NAME="keygen Coverage Results" MODIFIED="1552305621065" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/giteasy$keygen.coverage" NAME="keygen Coverage Results" MODIFIED="1552305621065" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$main.coverage" NAME="main Coverage Results" MODIFIED="1552467851092" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$branchmanager.coverage" NAME="branchmanager Coverage Results" MODIFIED="1552413252082" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/giteasy$Debug.coverage" NAME="Debug Coverage Results" MODIFIED="1552305147101" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component> </component>
<component name="DatabaseView"> <component name="DatabaseView">
<option name="SHOW_INTERMEDIATE" value="true" /> <option name="SHOW_INTERMEDIATE" value="true" />
@ -32,48 +37,15 @@
<expand /> <expand />
<select /> <select />
</component> </component>
<component name="FUSProjectUsageTrigger">
<session id="46200952">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="2" />
<entry key="project.open.time.0" value="1" />
<entry key="project.open.time.16" value="1" />
<entry key="project.opened" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="py" value="11693" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="Python" value="11693" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="py" value="7" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="Python" value="7" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/git.py"> <entry file="file://$PROJECT_DIR$/git.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="226"> <state relative-caret-position="190">
<caret line="49" column="42" selection-start-line="49" selection-start-column="42" selection-end-line="49" selection-end-column="42" /> <caret line="335" column="29" selection-start-line="335" selection-start-column="29" selection-end-line="335" selection-end-column="29" />
<folding> <folding>
<element signature="e#0#9#0" expanded="true" /> <element signature="e#0#9#0" expanded="true" />
<marker date="1552453029448" expanded="true" signature="13269:13995" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -82,7 +54,7 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/ssh.py"> <entry file="file://$PROJECT_DIR$/ssh.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60"> <state relative-caret-position="29">
<caret line="25" selection-start-line="25" selection-end-line="25" /> <caret line="25" selection-start-line="25" selection-end-line="25" />
</state> </state>
</provider> </provider>
@ -91,8 +63,8 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/keygen.py"> <entry file="file://$PROJECT_DIR$/keygen.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="725">
<caret line="27" column="27" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" /> <caret line="29" column="50" selection-start-line="29" selection-start-column="50" selection-end-line="29" selection-end-column="50" />
<folding> <folding>
<element signature="e#0#10#0" expanded="true" /> <element signature="e#0#10#0" expanded="true" />
</folding> </folding>
@ -103,7 +75,7 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/window.py"> <entry file="file://$PROJECT_DIR$/window.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45"> <state relative-caret-position="175">
<caret line="7" column="15" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="15" /> <caret line="7" column="15" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="15" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
@ -112,15 +84,11 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main.py"> <entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="104"> <state relative-caret-position="175">
<caret line="73" column="16" lean-forward="true" selection-start-line="73" selection-start-column="16" selection-end-line="73" selection-end-column="16" /> <caret line="7" column="14" selection-start-line="7" selection-start-column="14" selection-end-line="7" selection-end-column="14" />
<folding>
<element signature="e#0#21#0" expanded="true" />
<marker date="1552453766451" expanded="true" signature="15701:15707" ph="..." />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -128,11 +96,8 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/info.py"> <entry file="file://$PROJECT_DIR$/info.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state>
<caret line="8" column="27" selection-start-line="8" selection-start-column="27" selection-end-line="8" selection-end-column="27" /> <caret column="17" selection-start-column="17" selection-end-column="17" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -140,8 +105,8 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/change.py"> <entry file="file://$PROJECT_DIR$/change.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="26"> <state relative-caret-position="190">
<caret line="14" column="37" selection-start-line="14" selection-start-column="37" selection-end-line="14" selection-end-column="37" /> <caret line="77" column="29" selection-start-line="77" selection-start-column="29" selection-end-line="77" selection-end-column="29" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
</folding> </folding>
@ -152,30 +117,22 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/sshtool.py"> <entry file="file://$PROJECT_DIR$/sshtool.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-331"> <state relative-caret-position="215">
<caret line="6" selection-start-line="6" selection-end-line="6" /> <caret line="36" column="47" selection-start-line="36" selection-start-column="47" selection-end-line="36" selection-end-column="47" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
<marker date="1552409960112" expanded="true" signature="1144:1635" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/branchmanager.py"> <entry file="file://$PROJECT_DIR$/branchmanager.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30"> <state relative-caret-position="-1">
<caret line="66" column="24" selection-start-line="66" selection-start-column="24" selection-end-line="66" selection-end-column="24" /> <caret line="66" column="24" selection-start-line="66" selection-start-column="24" selection-end-line="66" selection-end-column="24" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
<marker date="1552415132051" expanded="true" signature="178:183" ph="..." />
<marker date="1552415132051" expanded="true" signature="2638:3140" ph="..." />
<marker date="1552415132051" expanded="true" signature="3158:3361" ph="..." />
<marker date="1552415132051" expanded="true" signature="3378:3493" ph="..." />
<marker date="1552415132051" expanded="true" signature="3519:3983" ph="..." />
<marker date="1552415132051" expanded="true" signature="4005:4694" ph="..." />
<marker date="1552415132051" expanded="true" signature="5012:5663" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -196,6 +153,9 @@
<find>save</find> <find>save</find>
<find>do_save</find> <find>do_save</find>
<find>print</find> <find>print</find>
<find>subprocess</find>
<find>super()</find>
<find>Popen</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
@ -209,23 +169,17 @@
<option value="$PROJECT_DIR$/ssh.py" /> <option value="$PROJECT_DIR$/ssh.py" />
<option value="$PROJECT_DIR$/server.py" /> <option value="$PROJECT_DIR$/server.py" />
<option value="$PROJECT_DIR$/window.py" /> <option value="$PROJECT_DIR$/window.py" />
<option value="$PROJECT_DIR$/keygen.py" />
<option value="$PROJECT_DIR$/change.py" />
<option value="$PROJECT_DIR$/sshtool.py" />
<option value="$PROJECT_DIR$/info.py" /> <option value="$PROJECT_DIR$/info.py" />
<option value="$PROJECT_DIR$/branchmanager.py" /> <option value="$PROJECT_DIR$/branchmanager.py" />
<option value="$PROJECT_DIR$/git.py" />
<option value="$PROJECT_DIR$/main.py" /> <option value="$PROJECT_DIR$/main.py" />
<option value="$PROJECT_DIR$/git.py" />
<option value="$PROJECT_DIR$/change.py" />
<option value="$PROJECT_DIR$/keygen.py" />
<option value="$PROJECT_DIR$/sshtool.py" />
</list> </list>
</option> </option>
</component> </component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> <component name="ProjectFrameBounds" extendedState="6">
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds">
<option name="y" value="23" /> <option name="y" value="23" />
<option name="width" value="1440" /> <option name="width" value="1440" />
<option name="height" value="811" /> <option name="height" value="811" />
@ -242,10 +196,6 @@
<item name="giteasy" type="b2602c69:ProjectViewProjectNode" /> <item name="giteasy" type="b2602c69:ProjectViewProjectNode" />
<item name="giteasy" type="462c0819:PsiDirectoryNode" /> <item name="giteasy" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="giteasy" type="b2602c69:ProjectViewProjectNode" />
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
</path>
</expand> </expand>
<select /> <select />
</subPane> </subPane>
@ -293,7 +243,7 @@
<option name="ADD_CONTENT_ROOTS" value="true" /> <option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" /> <option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="C:$PROJECT_DIR$/../../../Saturneric/PycharmProjects/giteasy/git.py" /> <option name="SCRIPT_NAME" value="C:$PROJECT_DIR$/git.py" />
<option name="PARAMETERS" value="" /> <option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" /> <option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" /> <option name="EMULATE_TERMINAL" value="false" />
@ -375,9 +325,9 @@
<envs> <envs>
<env name="PYTHONUNBUFFERED" value="1" /> <env name="PYTHONUNBUFFERED" value="1" />
</envs> </envs>
<option name="SDK_HOME" value="$PROJECT_DIR$/bin/python" /> <option name="SDK_HOME" value="C:\Users\Saturneric\PycharmProjects\giteasy\venv\Scripts\python.exe" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" /> <option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" /> <option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" /> <option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" /> <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
@ -438,6 +388,7 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1552027430305</updated> <updated>1552027430305</updated>
<workItem from="1552263509381" duration="21133000" /> <workItem from="1552263509381" duration="21133000" />
<workItem from="1552464059763" duration="3079000" />
</task> </task>
<task id="LOCAL-00001" summary="Fixed and Added."> <task id="LOCAL-00001" summary="Fixed and Added.">
<created>1552274282898</created> <created>1552274282898</created>
@ -464,24 +415,24 @@
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="21133000" /> <option name="totallyTimeSpent" value="24212000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="23" width="1440" height="811" extended-state="0" /> <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<layout> <layout>
<window_info id="Favorites" order="0" side_tool="true" /> <window_info id="Favorites" order="0" side_tool="true" />
<window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.14663805" /> <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.10927505" />
<window_info id="Structure" order="2" side_tool="true" weight="0.25" /> <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Database Changes" order="0" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="0" show_stripe_button="false" />
<window_info anchor="bottom" id="Terminal" order="1" sideWeight="0.4985694" weight="0.32962447" /> <window_info anchor="bottom" id="Terminal" order="1" sideWeight="0.4985694" weight="0.32962447" />
<window_info anchor="bottom" id="Event Log" order="2" sideWeight="0.50500715" side_tool="true" visible="true" weight="0.2628651" /> <window_info anchor="bottom" id="Event Log" order="2" sideWeight="0.50586355" side_tool="true" visible="true" weight="0.2624729" />
<window_info anchor="bottom" id="Version Control" order="3" sideWeight="0.4985694" weight="0.32962447" /> <window_info anchor="bottom" id="Version Control" order="3" sideWeight="0.4985694" weight="0.32962447" />
<window_info anchor="bottom" id="Python Console" order="4" weight="0.3286517" /> <window_info anchor="bottom" id="Python Console" order="4" weight="0.3286517" />
<window_info anchor="bottom" id="Docker" order="5" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="5" show_stripe_button="false" />
<window_info anchor="bottom" id="Message" order="6" /> <window_info anchor="bottom" id="Message" order="6" />
<window_info anchor="bottom" id="Find" order="7" weight="0.329718" /> <window_info anchor="bottom" id="Find" order="7" weight="0.329718" />
<window_info anchor="bottom" id="Run" order="8" sideWeight="0.49499285" weight="0.2628651" /> <window_info anchor="bottom" id="Run" order="8" sideWeight="0.49413645" weight="0.2624729" />
<window_info anchor="bottom" id="Debug" order="9" sideWeight="0.49928468" weight="0.30737135" /> <window_info anchor="bottom" id="Debug" order="9" sideWeight="0.4989339" weight="0.30694142" />
<window_info anchor="bottom" id="Cvs" order="10" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="11" weight="0.4" /> <window_info anchor="bottom" id="Inspection" order="11" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="12" /> <window_info anchor="bottom" id="TODO" order="12" />
@ -495,9 +446,6 @@
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" /> <option name="version" value="1" />
</component> </component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="Fixed and Added." /> <MESSAGE value="Fixed and Added." />
<option name="LAST_COMMIT_MESSAGE" value="Fixed and Added." /> <option name="LAST_COMMIT_MESSAGE" value="Fixed and Added." />
@ -514,50 +462,38 @@
</breakpoint-manager> </breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file:///usr/local/lib/python3.7/site-packages/paramiko/ecdsakey.py"> <entry file="file:///usr/local/lib/python3.7/site-packages/paramiko/ecdsakey.py" />
<entry file="file:///usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py" />
<entry file="file://$PROJECT_DIR$/git.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="190">
<caret line="260" column="54" lean-forward="true" selection-start-line="260" selection-start-column="54" selection-end-line="260" selection-end-column="54" /> <caret line="335" column="29" selection-start-line="335" selection-start-column="29" selection-end-line="335" selection-end-column="29" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file:///usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py"> <entry file="file://$PROJECT_DIR$/ssh.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="167"> <state relative-caret-position="29">
<caret line="2222" selection-start-line="2222" selection-end-line="2222" /> <caret line="25" selection-start-line="25" selection-end-line="25" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/keygen.py"> <entry file="file://$PROJECT_DIR$/keygen.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="725">
<caret line="27" column="27" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" /> <caret line="29" column="50" selection-start-line="29" selection-start-column="50" selection-end-line="29" selection-end-column="50" />
<folding> <folding>
<element signature="e#0#10#0" expanded="true" /> <element signature="e#0#10#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/branchmanager.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="66" column="24" selection-start-line="66" selection-start-column="24" selection-end-line="66" selection-end-column="24" />
<folding>
<element signature="e#0#21#0" expanded="true" />
<marker date="1552415132051" expanded="true" signature="178:183" ph="..." />
<marker date="1552415132051" expanded="true" signature="2638:3140" ph="..." />
<marker date="1552415132051" expanded="true" signature="3158:3361" ph="..." />
<marker date="1552415132051" expanded="true" signature="3378:3493" ph="..." />
<marker date="1552415132051" expanded="true" signature="3519:3983" ph="..." />
<marker date="1552415132051" expanded="true" signature="4005:4694" ph="..." />
<marker date="1552415132051" expanded="true" signature="5012:5663" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/window.py"> <entry file="file://$PROJECT_DIR$/window.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45"> <state relative-caret-position="175">
<caret line="7" column="15" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="15" /> <caret line="7" column="15" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="15" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
@ -565,27 +501,24 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/ssh.py"> <entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60"> <state relative-caret-position="175">
<caret line="25" selection-start-line="25" selection-end-line="25" /> <caret line="7" column="14" selection-start-line="7" selection-start-column="14" selection-end-line="7" selection-end-column="14" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/info.py"> <entry file="file://$PROJECT_DIR$/info.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state>
<caret line="8" column="27" selection-start-line="8" selection-start-column="27" selection-end-line="8" selection-end-column="27" /> <caret column="17" selection-start-column="17" selection-end-column="17" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/change.py"> <entry file="file://$PROJECT_DIR$/change.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="26"> <state relative-caret-position="190">
<caret line="14" column="37" selection-start-line="14" selection-start-column="37" selection-end-line="14" selection-end-column="37" /> <caret line="77" column="29" selection-start-line="77" selection-start-column="29" selection-end-line="77" selection-end-column="29" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
</folding> </folding>
@ -594,33 +527,20 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/sshtool.py"> <entry file="file://$PROJECT_DIR$/sshtool.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-331"> <state relative-caret-position="215">
<caret line="6" selection-start-line="6" selection-end-line="6" /> <caret line="36" column="47" selection-start-line="36" selection-start-column="47" selection-end-line="36" selection-end-column="47" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
<marker date="1552409960112" expanded="true" signature="1144:1635" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/git.py"> <entry file="file://$PROJECT_DIR$/branchmanager.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="226"> <state relative-caret-position="-1">
<caret line="49" column="42" selection-start-line="49" selection-start-column="42" selection-end-line="49" selection-end-column="42" /> <caret line="66" column="24" selection-start-line="66" selection-start-column="24" selection-end-line="66" selection-end-column="24" />
<folding>
<element signature="e#0#9#0" expanded="true" />
<marker date="1552453029448" expanded="true" signature="13269:13995" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="104">
<caret line="73" column="16" lean-forward="true" selection-start-line="73" selection-start-column="16" selection-end-line="73" selection-end-column="16" />
<folding> <folding>
<element signature="e#0#21#0" expanded="true" /> <element signature="e#0#21#0" expanded="true" />
<marker date="1552453766451" expanded="true" signature="15701:15707" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>

View File

@ -25,6 +25,7 @@ class Changes(window.Window):
self.list.bind("<<ListboxSelect>>",self.show_change) self.list.bind("<<ListboxSelect>>",self.show_change)
self.current_index = None self.current_index = None
self.broad = broad self.broad = broad
self.list_bak = []
def draw_widgets(self): def draw_widgets(self):
self.list.grid(row=0, column=0) self.list.grid(row=0, column=0)
@ -67,45 +68,47 @@ class Changes(window.Window):
def show_change(self, *args): def show_change(self, *args):
self.current_index = self.list.curselection()[0] if len(self.list_bak) > 0:
if self.discard_status[self.current_index]: self.current_index = self.list.curselection()[0]
self.discard['text'] = 'Discard' if self.discard_status[self.current_index]:
else: self.discard['text'] = 'Discard'
self.discard['text'] = 'Add' else:
self.discard['text'] = 'Add'
stdout = os.popen("git diff --cached {0}".format(self.change_files[self.current_index])).read() stdout = os.popen("git diff --cached {0}".format(self.change_files[self.current_index])).read()
self.text.delete('1.0', END) self.text.delete('1.0', END)
self.text.insert(INSERT,self.change_files[self.current_index]+"\n","TITLE") self.text.insert(INSERT,self.change_files[self.current_index]+"\n","TITLE")
self.text.insert(INSERT, "-----------------------------------------------\n","TITLE") self.text.insert(INSERT, "-----------------------------------------------\n","TITLE")
if_data = False if_data = False
lines = [] lines = []
str = "" str = ""
for char in stdout: for char in stdout:
if char is not '\n': if char is not '\n':
str += char str += char
else:
lines.append(str)
str = ""
for line in lines:
if line[0] is '@':
if_data = True
if line[0] is '+' and if_data:
self.text.insert(INSERT,line+"\n","ADD")
elif line[0] is '-' and if_data:
self.text.insert(INSERT, line + "\n", "DEL")
elif line[0] is '@':
self.text.insert(INSERT, line + "\n", "INFO")
else:
if if_data:
self.text.insert(INSERT, line + "\n","DATA")
else: else:
self.text.insert(INSERT, line + "\n","TITLE") lines.append(str)
str = ""
for line in lines:
if line[0] is '@':
if_data = True
if line[0] is '+' and if_data:
self.text.insert(INSERT,line+"\n","ADD")
elif line[0] is '-' and if_data:
self.text.insert(INSERT, line + "\n", "DEL")
elif line[0] is '@':
self.text.insert(INSERT, line + "\n", "INFO")
else:
if if_data:
self.text.insert(INSERT, line + "\n","DATA")
else:
self.text.insert(INSERT, line + "\n","TITLE")
self.text.see(END) self.text.see(END)
def set_list(self, list): def set_list(self, list):
for item in list: for item in list:
self.list.insert(END, item) self.list.insert(END, item)
self.list_bak =list
ret_code = re.compile(r"[:]") ret_code = re.compile(r"[:]")
tmp_ret = ret_code.split(item) tmp_ret = ret_code.split(item)
self.change_files.append(tmp_ret[1]) self.change_files.append(tmp_ret[1])

2
git.py
View File

@ -228,7 +228,7 @@ class Git(ssh.SSH):
self.get_branch_server() self.get_branch_server()
if name in self.remotes.keys(): if name in self.remotes.keys():
if branch in self.branches_server: if branch in self.branches_server:
return os.popen("git pull {0} {1}".format(name, branch)).read() return os.popen("git pull --allow-unrelated-histories {0} {1}".format(name, branch)).read()
else: return "Current Branch '{0}' Not Exist In Server.".format(branch) else: return "Current Branch '{0}' Not Exist In Server.".format(branch)
else: else:
raise ValueError("Remote Error") raise ValueError("Remote Error")

View File

@ -10,8 +10,8 @@ class Key(ssh.SSH):
self.connect(5) self.connect(5)
self.pub_key = None self.pub_key = None
self.keygen = None self.keygen = None
self.local_path = "/Users/huyibing/" self.local_path = os.path.expanduser('~')
self.public_key_path = self.local_path+".ssh/id_rsa.pub" self.public_key_path = os.path.join(self.local_path, '.ssh', 'id_rsa.pub')
self.public_key = None self.public_key = None
def add_key(self): def add_key(self):
@ -20,14 +20,14 @@ class Key(ssh.SSH):
@staticmethod @staticmethod
def create_key(): def create_key():
if os.path.exists(os.path.join(os.environ["HOME"],".ssh","id_rsa.pub")): if os.path.exists(os.path.join(os.path.expanduser('~'),".ssh","id_rsa.pub")):
os.remove(os.path.join(os.environ["HOME"],".ssh","id_rsa.pub")) os.remove(os.path.join(os.path.expanduser('~'),".ssh","id_rsa.pub"))
os.remove(os.path.join(os.environ["HOME"], ".ssh", "id_rsa")) os.remove(os.path.join(os.path.expanduser('~'), ".ssh", "id_rsa"))
print("Key Path:","{0}".format(os.path.join(os.environ["HOME"],".ssh","id_rsa"))) print("Key Path:","{0}".format(os.path.join(os.path.expanduser('~'),".ssh","id_rsa")))
ret_code = subprocess.Popen(["ssh-keygen", "-b 4096","-N ''", "-q", ret_code = subprocess.Popen(["ssh-keygen", "-b 4096","-N ''", "-q",
"-f {0}".format(os.path.join(os.environ["HOME"],".ssh","id_rsa")), "-f {0}".format(os.path.join(os.path.expanduser('~'),".ssh","id_rsa")),
], shell=True, ], shell=False,
stdin=subprocess.PIPE, stdout=subprocess.PIPE) stdin=subprocess.PIPE, stdout=subprocess.PIPE)
stdout, stderr = ret_code.communicate(input=b"\ny\n") stdout, stderr = ret_code.communicate(input=b"\ny\n")
return stdout.decode("utf-8") return stdout.decode("utf-8")

16
main.py
View File

@ -18,14 +18,14 @@ class Main(window.Window):
master.title("GitEasy") master.title("GitEasy")
self.style.configure("M.MButton",) self.style.configure("M.MButton",)
self.connect = None self.connect = None
self.hostname_label = Label(self, width=8) self.hostname_label = Label(self, width=10)
self.user_name_label = Label(self, width=12) self.user_name_label = Label(self, width=12)
self.password_label = Label(self, width=8) self.password_label = Label(self, width=8)
self.connection_status = Label(self, width=8) self.connection_status = Label(self, width=8)
self.hostname = Entry(self, width=15) self.hostname = Entry(self, width=15)
self.user_name = Entry(self, width=15) self.user_name = Entry(self, width=15)
self.password = Entry(self, width=15, show="*") self.password = Entry(self, width=15, show="*")
self.list_projects = Button(self, width=12) self.list_projects = Button(self, width=13)
self.fix_project = Button(self, width=12) self.fix_project = Button(self, width=12)
self.create_project = Button(self, width=12) self.create_project = Button(self, width=12)
self.broad = Text(self, width=85, height=30) self.broad = Text(self, width=85, height=30)
@ -35,13 +35,13 @@ class Main(window.Window):
self.set_local = Button(self, width=12) self.set_local = Button(self, width=12)
self.add_remote = Button(self, width=12) self.add_remote = Button(self, width=12)
self.list_remote = Button(self, width=12) self.list_remote = Button(self, width=12)
self.clone_project = Button(self, width=12) self.clone_project = Button(self, width=13)
self.project_status = Button(self, width=12) self.project_status = Button(self, width=12)
self.pull = Button(self, width=12) self.pull = Button(self, width=12)
self.push = Button(self, width=12) self.push = Button(self, width=12)
self.add = Button(self, width=12) self.add = Button(self, width=12)
self.commit = Button(self, width=12) self.commit = Button(self, width=12)
self.save = Button(self, width=12) self.save = Button(self, width=15)
self.ssh_tools = Button(self, width=12) self.ssh_tools = Button(self, width=12)
self.info = None self.info = None
self.save_info = None self.save_info = None
@ -49,11 +49,11 @@ class Main(window.Window):
self.git = None self.git = None
self.draw_widget() self.draw_widget()
if os.path.exists(os.path.join(os.environ['HOME'],"save_data.json")): if os.path.exists(os.path.join(os.path.expanduser('~'),"save_data.json")):
self.get_save_data() self.get_save_data()
def get_save_data(self): def get_save_data(self):
save_file = open(os.path.join(os.environ['HOME'],"save_data.json"),"r") save_file = open(os.path.join(os.path.expanduser('~'),"save_data.json"),"r")
json_data = save_file.readline() json_data = save_file.readline()
save_infos = json.loads(json_data) save_infos = json.loads(json_data)
self.save_info = save_infos[0] self.save_info = save_infos[0]
@ -323,12 +323,12 @@ class Main(window.Window):
save_info["fix_project"] = self.git.fix_name save_info["fix_project"] = self.git.fix_name
save_infos.append(save_info) save_infos.append(save_info)
json_info = json.dumps(save_infos) json_info = json.dumps(save_infos)
save_file = open(os.path.join(os.environ['HOME'],"save_data.json"),"w") save_file = open(os.path.join(os.path.expanduser('~'),"save_data.json"),"w")
save_file.write(json_info) save_file.write(json_info)
save_file.close() save_file.close()
self.broad.insert(INSERT, "--------------------------\n") self.broad.insert(INSERT, "--------------------------\n")
self.broad.insert(INSERT, "Data Information Saved\n") self.broad.insert(INSERT, "Data Information Saved\n")
self.broad.insert(INSERT, "Path: "+os.path.join(os.environ['HOME'],"save_data.json")) self.broad.insert(INSERT, "Path: "+os.path.join(os.path.expanduser('~'), "save_data.json"))
self.broad.see(END) self.broad.see(END)
else: else:
raise AttributeError("Please Connect And Set Local Path First.") raise AttributeError("Please Connect And Set Local Path First.")

View File

@ -33,8 +33,8 @@ class SSH_Tools(window.Window,Key):
self.broad.see(END) self.broad.see(END)
def do_check_key(self): def do_check_key(self):
ret_code = subprocess.Popen("ssh -T {0}@{1}".format(self.user, self.hostname), ret_code = subprocess.Popen("ssh -o StrictHostKeyChecking=no -T {0}@{1}".format(self.user, self.hostname),
shell=True, shell=False,
stdin=subprocess.PIPE, stdout=subprocess.PIPE stdin=subprocess.PIPE, stdout=subprocess.PIPE
) )
stdout, stderr = ret_code.communicate(input=b"\x03") stdout, stderr = ret_code.communicate(input=b"\x03")