ठीक है, मैं क्या किया (जूनो ग्रहण विंडोज 7 पर) था:
एक नया ग्रहण कार्यक्षेत्र बनाया गया,कहें, इसे चलाने और बस इसे बंद
यह एक Git रेपो
फ़ाइलों प्रतिबद्ध है कि इस .gitignore के साथ ग्रहण द्वारा बनाया गया था में बनाया गया:
# binary files
*.dat
*.tree
*.index
.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache
.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
.metadata/.mylyn/repositories.xml.zip
*.resources
# logs
*.log
.metadata/.lock
# later additions
.metadata/.plugins/org.eclipse.pde.core/.cache/
*.running
एक पर स्विच किया गया नई शाखा
मेरे वर्कस्पेस में से एक को निकाल दिया गया, सभी सेटिंग्स को निर्यात किया गया तो test
वर्कस्पेस को निकाल दिया गया और उन्हें आयात किया गया। तुलना के अलावा की सहायता से वर्कस्पेस के .metadata/dirs की तुलना की। .metadata\.plugins\org.eclipse.core.runtime\.settings\
फ़ोल्डर्स org.eclipse.ui.workbench.prefs
फ़ाइल के अलावा समान थे - लेकिन अंतर महत्वपूर्ण नहीं थे (यानी कार्यक्षेत्र विशिष्ट)। वर्कस्पेस को बंद करने पर फ़ाइल org.eclipse.jdt.launching.prefs
भी संशोधित की गई थी। मास्टर के लिए स्विच किया गया और मेरे बाकी कार्यक्षेत्रों के लिए दोहराया गया।
जटिलताओं थे - तो उदाहरण के लिए:
जबकि मूल कार्यक्षेत्र में (थे मैं आयातित) था (बाइनरी फ़ाइल org.eclipse.jdt.core.prefs
test
कार्यक्षेत्र में मौजूद था समान) org.eclipse.jdt.core.prefs.bak
।
फ़ाइल org.eclipse.pde.core.prefs
फ़ाइलों org.eclipse.jdt.launching.prefs
और org.eclipse.ui.workbench.prefs
अलग आयात नहीं किया था।
पांचवें कार्यक्षेत्र बाद मैं बस गया था कि फ़ाइलों
.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
बनाई गई हैं जब सेटिंग्स आयात किए जाते हैं (एक नई कार्यक्षेत्र में), उस फ़ाइल .metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.pde.core.prefs
निर्यात नहीं कर रहा है/आयातित, उस फ़ाइल .settings\org.eclipse.ui.workbench.prefs
आयात पर विलय (अर्थात् * ENABLED_DECORATORS * var रहता है) और org.eclipse.jdt.launching.prefs
ग्रहण को बंद करने पर संपादित किया गया है।
परियोजना संदर्भों वाले फ़ाइलों की तरह आगे जटिलताओं के होते हैं:
उदाहरण के लिए, फ़ाइल org.eclipse.wst.sse.core.prefs
कार्यक्षेत्र से परियोजना के नाम होते हैं - मैं (यह वास्तव में जल्दी तय किया गया था!) एक bug के रूप में इस की सूचना दी।
.settings/org.eclipse.cdt.core.prj-<projectName>.prefs
.settings/org.eclipse.cdt.ui.prj-<projectName>.prefs
जो आँख बंद करके निर्यात/आयात पर सिंक किए गए हैं:
CDT की तरह फाइलों का एक समूह बनाता है। यह वास्तव में पिछले एक की तुलना में एक और अधिक जटिल मामला है - reported it also।
वास्तव में, आपके पास .settings
डीआईआर में जो कुछ भी है, उसकी प्रतिलिपि बनाई जाएगी (मुझे लगता है कि जब तक यह .prefs
प्रत्यय है)। यह एक और बग रिपोर्ट वारंट करता है। जो नहीं बल्कि कर रहे हैं विशिष्ट कार्यक्षेत्र - - org.eclipse.ui.ide.prefs
जो वर्किंग सेट के संदर्भ हैं में तरह -
इसी तरह की परिस्थितियों अन्य फ़ाइलें जो कार्यक्षेत्र विशिष्ट विकल्प को शामिल में सामना होता है या org.eclipse.ui.browser.prefs
में जो internalWebBrowserHistory शामिल हैं - है जो आम तौर पर भी विशिष्ट कार्यक्षेत्र।
वैसे भी मैं हार्ड लिंक के लिए जाने का फैसला किया - तो मैं अपनी प्राथमिकताओं को cdt
लोगों सामान्यीकृत (यह बहुत बहुत आसान एक ताजा कार्यस्थान के साथ शुरू करने के लिए किया जाएगा) और org.eclipse.wst.sse.core.prefs
से अलग सभी सेटिंग्स की नकल की है, और org.eclipse.pde.core.prefs
(किसी कारण से इसे आयात नहीं किया गया था। org.eclipse.ui.workbench.prefs
जो विशेष रूप से विशेष है शॉर्टकट भी शामिल है)। फिर मैं चलाता हूं:
REM move_settings.bat
set SETTINGS_DIR=C:\path\to\tempalte\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings
set WORKSPACE_SETTINGS_DIR=C:\path\to\actual\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings
mkdir %WORKSPACE_SETTINGS_DIR%\zBackups
pause
FOR /F %%G IN ('DIR^ %%SETTINGS_DIR%%^ /b') DO (
move %WORKSPACE_SETTINGS_DIR%\%%G %WORKSPACE_SETTINGS_DIR%\zBackups
mklink /H %WORKSPACE_SETTINGS_DIR%\%%G %SETTINGS_DIR%\%%G
)
pause
मेरे कार्यक्षेत्रों के लिए।
और अनुमान लगाएं: ग्रहण हार्ड लिंक तोड़ता है। मैंने मुलायम लिंक (mklink %WORKSPACE_SETTINGS_DIR%\%%G %SETTINGS_DIR%\%%G
) की कोशिश की लेकिन कोई खुशी नहीं।
अंत में
मैं हार्ड लिंक (जंक्शन) पूरे सेटिंग्स dir (सभी समस्याग्रस्त फ़ाइलों मैंने कहा के साथ) के लिए था - यह वास्तव में एक समाधान नहीं है। इन दिनों में से एक स्थिति को संबोधित किया जाना चाहिए।वैसे भी यहाँ .bat
है मैं प्रयोग किया है:
:: Change to the directory that this batch file is in
:: NB: it must be invoked with a full path!
:: run the bat from the dir you want to backup your prefs to
for /f %%i in ("%0") do set curpath=%%~dpi
cd /d %curpath%
set WORKSPACES=javaEE\ javaSE\ c++\ python\ android\
set TEMPLATE_WORKSPACE=name_of_the_template_workspace\
set WORKSPACES_DIR=C:\Dropbox\eclipse_workspaces\
set SETTINGS_DIR=.metadata\.plugins\org.eclipse.core.runtime\.settings
REM set SETTINGS_DIR=.metadata\.plugins\org.eclipse.core.runtime\.settings\ WONT DO
set TEMPLATE_SETTINGS_DIR=%WORKSPACES_DIR%%TEMPLATE_WORKSPACE%%SETTINGS_DIR%
for %%G in (%WORKSPACES%) do (call :subroutine_needed %%G)
GOTO :eof
:subroutine_needed
set WORKSPACE=%1
set WORKSPACE_SETTINGS_DIR=%WORKSPACES_DIR%%WORKSPACE%%SETTINGS_DIR%
set BACKUP_DIR=%CD%\zBackups\%WORKSPACE%
mkdir %BACKUP_DIR%
pause
move %WORKSPACE_SETTINGS_DIR% %BACKUP_DIR%
pause
junction %WORKSPACE_SETTINGS_DIR% %TEMPLATE_SETTINGS_DIR%
pause
मैं इस पोस्ट के रूप में की जरूरत
साझा करने के लिए बहुत बहुत धन्यवाद। – Danijel