summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
7ce23ea)
Add 'Switch to new branch' option when creating new branch
Add current branch indication beside HEAD text
Display error if branch/tag name is empty or contains spaces
{\r
CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK);\r
}\r
{\r
CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK);\r
}\r
+ if( !IsTag && dlg.m_bSwitch )\r
+ {\r
+ // it is a new branch and the user has requested to switch to it\r
+ cmd.Format(_T("git.exe checkout %s"), dlg.m_BranchTagName);\r
+ g_Git.Run(cmd,&out,CP_UTF8);\r
+ CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK);\r
+ }\r
+ \r
CChooseVersion(this)\r
{\r
m_bIsTag=0;\r
CChooseVersion(this)\r
{\r
m_bIsTag=0;\r
+ m_bSwitch = 1; // default switch to checkbox selected\r
}\r
\r
CCreateBranchTagDlg::~CCreateBranchTagDlg()\r
}\r
\r
CCreateBranchTagDlg::~CCreateBranchTagDlg()\r
DDX_Text(pDX, IDC_BRANCH_TAG, this->m_BranchTagName);\r
DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);\r
DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);\r
DDX_Text(pDX, IDC_BRANCH_TAG, this->m_BranchTagName);\r
DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);\r
DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);\r
+ DDX_Check(pDX,IDC_CHECK_SWITCH,this->m_bSwitch);\r
this->SetWindowTextW(_T("Create Branch"));\r
this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Branch"));\r
}\r
this->SetWindowTextW(_T("Create Branch"));\r
this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Branch"));\r
}\r
+ // show the switch checkbox if we are a create branch dialog\r
+ this->GetDlgItem(IDC_CHECK_SWITCH)->ShowWindow( !m_bIsTag );\r
+ CWnd* pHead = GetDlgItem(IDC_RADIO_HEAD);\r
+ CString HeadText;\r
+ pHead->GetWindowText( HeadText ); \r
+ pHead->SetWindowText( HeadText + " (" + g_Git.GetCurrentBranch() + ")");\r
EnableSaveRestore(_T("BranchTagDlg"));\r
return TRUE;\r
\r
EnableSaveRestore(_T("BranchTagDlg"));\r
return TRUE;\r
\r
// TODO: Add your control notification handler code here\r
this->UpdateData(TRUE);\r
\r
// TODO: Add your control notification handler code here\r
this->UpdateData(TRUE);\r
\r
- if(this->m_BranchTagName.Trim().IsEmpty())\r
+ this->m_BranchTagName.Trim();\r
+ if(this->m_BranchTagName.IsEmpty() || this->m_BranchTagName.Find(' ') >= 0 )\r
- CMessageBox::Show(NULL,_T("Branch\\Tag name can't empty"),_T("TortiseGit"),MB_OK);\r
+ CMessageBox::Show(NULL, IDS_B_T_NOTEMPTY, IDS_TORTOISEGIT, MB_OK);\r
return;\r
}\r
this->UpdateRevsionName();\r
return;\r
}\r
this->UpdateRevsionName();\r
BOOL m_bForce;\r
BOOL m_bTrack;\r
BOOL m_bIsTag;\r
BOOL m_bForce;\r
BOOL m_bTrack;\r
BOOL m_bIsTag;\r
\r
CString m_Base;\r
CString m_BranchTagName;\r
\r
CString m_Base;\r
CString m_BranchTagName;\r
\r
void CGitSwitchDlg::OnBnClickedOk()\r
{\r
\r
void CGitSwitchDlg::OnBnClickedOk()\r
{\r
- // TODO: Add your control notification handler code here\r
this->UpdateData(TRUE);\r
\r
this->UpdateData(TRUE);\r
\r
- UpdateRevsionName();\r
- //this->m_Version.SaveHistory();\r
-\r
- OnOK();\r
+ // make sure a valid branch has been entered if a new branch is required\r
+ if ( m_bBranch && ( m_NewBranch.Trim().IsEmpty() || m_NewBranch.Find(' ') >= 0 ) )\r
+ {\r
+ // new branch requested but name is empty or contains spaces\r
+ CMessageBox::Show(NULL, IDS_B_T_NOTEMPTY, IDS_TORTOISEGIT, MB_OK);\r
+ }\r
+ else\r
+ {\r
+ UpdateRevsionName();\r
+ //this->m_Version.SaveHistory();\r
+ OnOK();\r
+ }\r
}\r
void CGitSwitchDlg::OnBnClickedCheckBranch()\r
{\r
}\r
void CGitSwitchDlg::OnBnClickedCheckBranch()\r
{\r