src/eric7/Plugins/VcsPlugins/vcsGit/GitWorktreeAddDialog.py

Wed, 04 Oct 2023 17:50:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 04 Oct 2023 17:50:59 +0200
branch
eric7
changeset 10217
7888177e7463
parent 9971
773ad1f1ed22
child 10439
21c28b0f9e41
permissions
-rw-r--r--

Fixed in issue with several editable combo box selectors, that the value could not be changed if the edited text differed by case only. This was caused by the standard QComboBox completer.

9620
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9620
diff changeset
3 # Copyright (c) 2022 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
9620
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the data for a 'git worktree add' operation.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import pyqtSlot
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_GitWorktreeAddDialog import Ui_GitWorktreeAddDialog
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class GitWorktreeAddDialog(QDialog, Ui_GitWorktreeAddDialog):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to enter the data for a 'git worktree add' operation.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self, parentDirectory, tagsList, branchesList, parent=None):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param parentDirectory path of the worktrees parent directory
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param tagsList list of tags
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @type list of str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param branchesList list of branches
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type list of str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param parent reference to the parent widget (defaults to None)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type QWidget (optional)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 super().__init__(parent)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.setupUi(self)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.__parentDirectory = parentDirectory
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.worktreePathPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.worktreePathPicker.setDefaultDirectory(parentDirectory)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.worktreePathPicker.setText(parentDirectory)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.tagCombo.addItems(sorted(tagsList))
9971
773ad1f1ed22 Performed some 'ethical' changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
46 self.branchCombo.addItems(["main"] + sorted(branchesList))
9620
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 def __updateOK(self):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 Private method to set the enabled state of the OK button.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 enable = True
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 if self.revButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 enable = self.revEdit.text() != ""
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 elif self.tagButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 enable = self.tagCombo.currentText() != ""
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 elif self.branchButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 enable = self.branchCombo.currentText() != ""
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 worktreePath = self.worktreePathPicker.text()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 enable &= bool(worktreePath) and worktreePath not in (
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.__parentDirectory,
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__parentDirectory + "/",
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__parentDirectory + "\\",
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 )
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @pyqtSlot(str)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 def on_worktreePathPicker_textChanged(self, worktree):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 Private slot handling a change of the worktree path.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 @param worktree entered worktree path
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 @type str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 @pyqtSlot(bool)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 def on_revButton_toggled(self, checked):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 Private slot to handle changes of the rev select button.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 @param checked state of the button
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 @type bool
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @pyqtSlot(str)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 def on_revEdit_textChanged(self, txt):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 Private slot to handle changes of the rev edit.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 @param txt text of the edit
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 @type str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 @pyqtSlot(bool)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 def on_tagButton_toggled(self, checked):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 Private slot to handle changes of the Tag select button.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 @param checked state of the button
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 @type bool
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 @pyqtSlot(str)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 def on_tagCombo_editTextChanged(self, txt):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 Private slot to handle changes of the Tag combo.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 @param txt text of the combo
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 @type str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 @pyqtSlot(bool)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 def on_branchButton_toggled(self, checked):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 Private slot to handle changes of the Branch select button.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 @param checked state of the button
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 @type bool
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 @pyqtSlot(str)
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 def on_branchCombo_editTextChanged(self, txt):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 Private slot to handle changes of the Branch combo.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 @param txt text of the combo
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 @type str
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 self.__updateOK()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 def getParameters(self):
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 Public method to get the entered parameters for the 'git worktree add'
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 operation.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 @return dictionary containing the entered data. This dictionary has these keys.
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 <ul>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 <li>path: path for the new worktree</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 <li>branch: name for the worktree branch</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 <li>force_branch: enforce creating the branch</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 <li>lock: flag indicating to lock the worktree</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 <li>lock_reason: optional reason string for the lock</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 <li>detach: flag indicating to detach the HEAD in the new worktree</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 <li>commit: commit to check out in the new worktree (branch, tag, commit ID
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 or empty for HEAD) </li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 <li>force: flag indicating to enforce the worktree creation</li>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 </ul>
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 @rtype dict
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 """
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 if self.revButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 commit = self.revEdit.text()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 elif self.tagButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 commit = self.tagCombo.currentText()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 elif self.branchButton.isChecked():
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 commit = self.branchCombo.currentText()
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 else:
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 commit = ""
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 return {
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 "path": self.worktreePathPicker.text(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 "branch": self.branchNameEdit.text(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 "force_branch": self.forceBranchCheckBox.isChecked(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 "lock": self.lockCheckBox.isChecked(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 "lock_reason": self.lockReasonEdit.text(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 "detach": self.detachCheckBox.isChecked(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 "commit": commit,
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 "force": self.forceCheckBox.isChecked(),
9563c83ce83d Version Control Systems - git
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 }

eric ide

mercurial