#include "ExportCommand.h"\r
\r
#include "ExportDlg.h"\r
-#include "SVNProgressDlg.h"\r
-#include "SVNAdminDir.h"\r
+#include "ProgressDlg.h"\r
+#include "GitAdminDir.h"\r
#include "ProgressDlg.h"\r
#include "BrowseFolder.h"\r
#include "DirFileEnum.h"\r
#include "MessageBox.h"\r
-#include "SVNStatus.h"\r
+#include "GitStatus.h"\r
\r
bool ExportCommand::Execute()\r
{\r
bool bRet = false;\r
- // When the user clicked on a working copy, we know that the export should\r
- // be done from that. We then have to ask where the export should go to.\r
- // If however the user clicked on an unversioned folder, we assume that\r
- // this is where the export should go to and have to ask from where\r
- // the export should be done from.\r
- TCHAR saveto[MAX_PATH];\r
- bool bURL = !!SVN::PathIsURL(cmdLinePath);\r
- svn_wc_status_kind s = SVNStatus::GetAllStatus(cmdLinePath);\r
- if ((bURL)||(s == svn_wc_status_unversioned)||(s == svn_wc_status_none))\r
- {\r
- // ask from where the export has to be done\r
- CExportDlg dlg;\r
- if (bURL)\r
- dlg.m_URL = cmdLinePath.GetSVNPathString();\r
- else\r
- dlg.m_strExportDirectory = cmdLinePath.GetWinPathString();\r
- if (parser.HasKey(_T("revision")))\r
- {\r
- SVNRev Rev = SVNRev(parser.GetVal(_T("revision")));\r
- dlg.Revision = Rev;\r
- }\r
- if (dlg.DoModal() == IDOK)\r
- {\r
- CTSVNPath exportPath(dlg.m_strExportDirectory);\r
\r
- CSVNProgressDlg progDlg;\r
- theApp.m_pMainWnd = &progDlg;\r
- progDlg.SetCommand(CSVNProgressDlg::SVNProgress_Export);\r
- if (parser.HasVal(_T("closeonend")))\r
- progDlg.SetAutoClose(parser.GetLongVal(_T("closeonend")));\r
- DWORD options = dlg.m_bNoExternals ? ProgOptIgnoreExternals : ProgOptNone;\r
- if (dlg.m_eolStyle.CompareNoCase(_T("CRLF"))==0)\r
- options |= ProgOptEolCRLF;\r
- if (dlg.m_eolStyle.CompareNoCase(_T("CR"))==0)\r
- options |= ProgOptEolCR;\r
- if (dlg.m_eolStyle.CompareNoCase(_T("LF"))==0)\r
- options |= ProgOptEolLF;\r
- progDlg.SetOptions(options);\r
- progDlg.SetPathList(CTSVNPathList(exportPath));\r
- progDlg.SetUrl(dlg.m_URL);\r
- progDlg.SetRevision(dlg.Revision);\r
- progDlg.SetDepth(dlg.m_depth);\r
- progDlg.DoModal();\r
- bRet = !progDlg.DidErrorsOccur();\r
- }\r
- }\r
- else\r
+ // ask from where the export has to be done\r
+ CExportDlg dlg;\r
+ \r
+ if (dlg.DoModal() == IDOK)\r
{\r
- // ask where the export should go to.\r
- CBrowseFolder folderBrowser;\r
- CString strTemp;\r
- strTemp.LoadString(IDS_PROC_EXPORT_1);\r
- folderBrowser.SetInfo(strTemp);\r
- folderBrowser.m_style = BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_VALIDATE;\r
- strTemp.LoadString(IDS_PROC_EXPORT_2);\r
- folderBrowser.SetCheckBoxText(strTemp);\r
- strTemp.LoadString(IDS_PROC_OMMITEXTERNALS);\r
- folderBrowser.SetCheckBoxText2(strTemp);\r
- folderBrowser.DisableCheckBox2WhenCheckbox1IsEnabled(true);\r
- CRegDWORD regExtended = CRegDWORD(_T("Software\\TortoiseSVN\\ExportExtended"), FALSE);\r
- CBrowseFolder::m_bCheck = regExtended;\r
- if (folderBrowser.Show(hwndExplorer, saveto, MAX_PATH)==CBrowseFolder::OK)\r
- {\r
- CString saveplace = CString(saveto);\r
-\r
- if (cmdLinePath.IsEquivalentTo(CTSVNPath(saveplace)))\r
- {\r
- // exporting to itself:\r
- // remove all svn admin dirs, effectively unversion the 'exported' folder.\r
- CString msg;\r
- msg.Format(IDS_PROC_EXPORTUNVERSION, (LPCTSTR)saveplace);\r
- if (CMessageBox::Show(hwndExplorer, msg, _T("TortoiseSVN"), MB_ICONQUESTION|MB_YESNO) == IDYES)\r
- {\r
- CProgressDlg progress;\r
- progress.SetTitle(IDS_PROC_UNVERSION);\r
- progress.SetAnimation(IDR_MOVEANI);\r
- progress.FormatNonPathLine(1, IDS_SVNPROGRESS_EXPORTINGWAIT);\r
- progress.SetTime(true);\r
- progress.ShowModeless(hwndExplorer);\r
- std::vector<CTSVNPath> removeVector;\r
-\r
- CDirFileEnum lister(saveplace);\r
- CString srcFile;\r
- bool bFolder = false;\r
- while (lister.NextFile(srcFile, &bFolder))\r
- {\r
- CTSVNPath item(srcFile);\r
- if ((bFolder)&&(g_SVNAdminDir.IsAdminDirName(item.GetFileOrDirectoryName())))\r
- {\r
- removeVector.push_back(item);\r
- }\r
- }\r
- DWORD count = 0;\r
- for (std::vector<CTSVNPath>::iterator it = removeVector.begin(); (it != removeVector.end()) && (!progress.HasUserCancelled()); ++it)\r
- {\r
- progress.FormatPathLine(1, IDS_SVNPROGRESS_UNVERSION, (LPCTSTR)it->GetWinPath());\r
- progress.SetProgress(count, removeVector.size());\r
- count++;\r
- it->Delete(false);\r
- }\r
- progress.Stop();\r
- bRet = true;\r
- }\r
- else\r
- return false;\r
- }\r
- else\r
- {\r
- saveplace += _T("\\") + cmdLinePath.GetFileOrDirectoryName();\r
- TRACE(_T("export %s to %s\n"), (LPCTSTR)cmdLinePath.GetUIPathString(), (LPCTSTR)saveto);\r
- SVN svn;\r
- if (!svn.Export(cmdLinePath, CTSVNPath(saveplace), bURL ? SVNRev::REV_HEAD : SVNRev::REV_WC, \r
- bURL ? SVNRev::REV_HEAD : SVNRev::REV_WC, FALSE, folderBrowser.m_bCheck2, svn_depth_infinity,\r
- hwndExplorer, folderBrowser.m_bCheck))\r
- {\r
- CMessageBox::Show(hwndExplorer, svn.GetLastErrorMessage(), _T("TortoiseSVN"), MB_OK | MB_ICONERROR);\r
- bRet = false;\r
- }\r
- else\r
- bRet = true;\r
- regExtended = CBrowseFolder::m_bCheck;\r
- }\r
- }\r
}\r
return bRet;\r
}\r
#include "stdafx.h"\r
#include "TortoiseProc.h"\r
#include "ExportDlg.h"\r
-#include "RepositoryBrowser.h"\r
+\r
#include "Messagebox.h"\r
#include "PathUtils.h"\r
#include "BrowseFolder.h"\r
void CExportDlg::DoDataExchange(CDataExchange* pDX)\r
{\r
CResizableStandAloneDialog::DoDataExchange(pDX);\r
- DDX_Control(pDX, IDC_URLCOMBO, m_URLCombo);\r
+// DDX_Control(pDX, IDC_URLCOMBO, m_URLCombo);\r
DDX_Control(pDX, IDC_REVISION_NUM, m_editRevision);\r
- DDX_Control(pDX, IDC_BROWSE, m_butBrowse);\r
+// DDX_Control(pDX, IDC_BROWSE, m_butBrowse);\r
DDX_Text(pDX, IDC_REVISION_NUM, m_sRevision);\r
DDX_Text(pDX, IDC_CHECKOUTDIRECTORY, m_strExportDirectory);\r
- DDX_Check(pDX, IDC_NOEXTERNALS, m_bNoExternals);\r
+// DDX_Check(pDX, IDC_NOEXTERNALS, m_bNoExternals);\r
DDX_Control(pDX, IDC_CHECKOUTDIRECTORY, m_cCheckoutEdit);\r
- DDX_Control(pDX, IDC_EOLCOMBO, m_eolCombo);\r
- DDX_Control(pDX, IDC_DEPTH, m_depthCombo);\r
+// DDX_Control(pDX, IDC_EOLCOMBO, m_eolCombo);\r
+// DDX_Control(pDX, IDC_DEPTH, m_depthCombo);\r
}\r
\r
\r
m_sExportDirOrig = m_strExportDirectory;\r
m_bAutoCreateTargetName = !PathIsDirectoryEmpty(m_sExportDirOrig);\r
\r
- AdjustControlSize(IDC_NOEXTERNALS);\r
+// AdjustControlSize(IDC_NOEXTERNALS);\r
AdjustControlSize(IDC_REVISION_HEAD);\r
AdjustControlSize(IDC_REVISION_N);\r
\r
AddAnchor(IDC_REPOGROUP, TOP_LEFT, TOP_RIGHT);\r
- AddAnchor(IDC_REPOLABEL, TOP_LEFT);\r
- AddAnchor(IDC_URLCOMBO, TOP_LEFT, TOP_RIGHT);\r
- AddAnchor(IDC_BROWSE, TOP_RIGHT);\r
+// AddAnchor(IDC_REPOLABEL, TOP_LEFT);\r
+// AddAnchor(IDC_URLCOMBO, TOP_LEFT, TOP_RIGHT);\r
+// AddAnchor(IDC_BROWSE, TOP_RIGHT);\r
AddAnchor(IDC_EXPORT_CHECKOUTDIR, TOP_LEFT);\r
AddAnchor(IDC_CHECKOUTDIRECTORY, TOP_LEFT, TOP_RIGHT);\r
- AddAnchor(IDC_CHECKOUTDIRECTORY_BROWSE, TOP_RIGHT);\r
- AddAnchor(IDC_DEPTH, TOP_LEFT, TOP_RIGHT);\r
- AddAnchor(IDC_NOEXTERNALS, TOP_LEFT);\r
- AddAnchor(IDC_EOLLABEL, TOP_LEFT);\r
- AddAnchor(IDC_EOLCOMBO, TOP_LEFT);\r
+// AddAnchor(IDC_CHECKOUTDIRECTORY_BROWSE, TOP_RIGHT);\r
+// AddAnchor(IDC_DEPTH, TOP_LEFT, TOP_RIGHT);\r
+// AddAnchor(IDC_NOEXTERNALS, TOP_LEFT);\r
+// AddAnchor(IDC_EOLLABEL, TOP_LEFT);\r
+// AddAnchor(IDC_EOLCOMBO, TOP_LEFT);\r
\r
AddAnchor(IDC_REVISIONGROUP, TOP_LEFT, BOTTOM_RIGHT);\r
AddAnchor(IDC_REVISION_HEAD, TOP_LEFT);\r
AddAnchor(IDCANCEL, BOTTOM_RIGHT);\r
AddAnchor(IDHELP, BOTTOM_RIGHT);\r
\r
- m_URLCombo.SetURLHistory(TRUE);\r
- m_URLCombo.LoadHistory(_T("Software\\TortoiseSVN\\History\\repoURLS"), _T("url"));\r
- m_URLCombo.SetCurSel(0);\r
+ //m_URLCombo.SetURLHistory(TRUE);\r
+ //m_URLCombo.LoadHistory(_T("Software\\TortoiseSVN\\History\\repoURLS"), _T("url"));\r
+ //m_URLCombo.SetCurSel(0);\r
\r
if (!m_URL.IsEmpty())\r
{\r
m_URLCombo.SetWindowText(m_URL);\r
}\r
\r
- m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_INFINITE)));\r
- m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_IMMEDIATE)));\r
- m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_FILES)));\r
- m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_EMPTY)));\r
- m_depthCombo.SetCurSel(0);\r
+// m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_INFINITE)));\r
+// m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_IMMEDIATE)));\r
+// m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_FILES)));\r
+// m_depthCombo.AddString(CString(MAKEINTRESOURCE(IDS_SVN_DEPTH_EMPTY)));\r
+// m_depthCombo.SetCurSel(0);\r
\r
// set radio buttons according to the revision\r
SetRevision(Revision);\r
\r
m_tooltips.Create(this);\r
m_tooltips.AddTool(IDC_CHECKOUTDIRECTORY, IDS_CHECKOUT_TT_DIR);\r
- m_tooltips.AddTool(IDC_EOLCOMBO, IDS_EXPORT_TT_EOL);\r
+// m_tooltips.AddTool(IDC_EOLCOMBO, IDS_EXPORT_TT_EOL);\r
\r
SHAutoComplete(GetDlgItem(IDC_CHECKOUTDIRECTORY)->m_hWnd, SHACF_FILESYSTEM);\r
\r
// fill the combobox with the choices of eol styles\r
- m_eolCombo.AddString(_T("default"));\r
- m_eolCombo.AddString(_T("CRLF"));\r
- m_eolCombo.AddString(_T("LF"));\r
- m_eolCombo.AddString(_T("CR"));\r
- m_eolCombo.SelectString(0, _T("default"));\r
+ //m_eolCombo.AddString(_T("default"));\r
+ //m_eolCombo.AddString(_T("CRLF"));\r
+ //m_eolCombo.AddString(_T("LF"));\r
+ //m_eolCombo.AddString(_T("CR"));\r
+ //m_eolCombo.SelectString(0, _T("default"));\r
\r
- if (!Revision.IsHead())\r
+ if (Revision==_T("HEAD"))\r
{\r
// if the revision is not HEAD, change the radio button and\r
// fill in the revision in the edit box\r
CString temp;\r
- temp.Format(_T("%ld"), (LONG)Revision);\r
+ temp.Format(_T("%s"), Revision);\r
m_editRevision.SetWindowText(temp);\r
CheckRadioButton(IDC_REVISION_HEAD, IDC_REVISION_N, IDC_REVISION_N);\r
}\r
return; // don't dismiss dialog (error message already shown by MFC framework)\r
\r
// check it the export path is a valid windows path\r
+#if 0\r
CTSVNPath ExportDirectory;\r
if (::PathIsRelative(m_strExportDirectory))\r
{\r
ShowBalloon(IDC_CHECKOUTDIRECTORY, IDS_ERR_NOVALIDPATH);\r
return;\r
}\r
-\r
+#endif\r
// check if the specified revision is valid\r
if (GetCheckedRadioButton(IDC_REVISION_HEAD, IDC_REVISION_N) == IDC_REVISION_HEAD)\r
{\r
- Revision = SVNRev(_T("HEAD"));\r
+ Revision = _T("HEAD");\r
}\r
else\r
- Revision = SVNRev(m_sRevision);\r
+ Revision = m_sRevision;\r
+\r
+#if 0\r
if (!Revision.IsValid())\r
{\r
ShowBalloon(IDC_REVISION_NUM, IDS_ERR_INVALIDREV);\r
return;\r
}\r
+#endif\r
bool bAutoCreateTargetName = m_bAutoCreateTargetName;\r
m_bAutoCreateTargetName = false;\r
\r
m_URL = m_URLCombo.GetString();\r
\r
// we need an url to export from - local paths won't work\r
+#if 0\r
if (!SVN::PathIsURL(CTSVNPath(m_URL)))\r
{\r
ShowBalloon(IDC_URLCOMBO, IDS_ERR_MUSTBEURL, IDI_ERROR);\r
m_depth = svn_depth_empty;\r
break;\r
}\r
-\r
+#endif\r
UpdateData(FALSE);\r
CResizableStandAloneDialog::OnOK();\r
}\r
void CExportDlg::OnBnClickedBrowse()\r
{\r
m_tooltips.Pop(); // hide the tooltips\r
+#if 0\r
SVNRev rev;\r
UpdateData();\r
if (GetCheckedRadioButton(IDC_REVISION_HEAD, IDC_REVISION_N) == IDC_REVISION_HEAD)\r
rev = SVNRev::REV_HEAD;\r
CAppUtils::BrowseRepository(m_URLCombo, this, rev);\r
SetRevision(rev);\r
+#endif\r
}\r
\r
void CExportDlg::OnBnClickedCheckoutdirectoryBrowse()\r
void CExportDlg::OnBnClickedShowlog()\r
{\r
m_tooltips.Pop(); // hide the tooltips\r
+#if 0\r
UpdateData(TRUE);\r
m_URL = m_URLCombo.GetString();\r
if ((m_pLogDlg)&&(m_pLogDlg->IsWindowVisible()))\r
m_pLogDlg->ShowWindow(SW_SHOW);\r
}\r
AfxGetApp()->DoWaitCursor(-1);\r
+#endif\r
}\r
\r
LPARAM CExportDlg::OnRevSelected(WPARAM /*wParam*/, LPARAM lParam)\r
{\r
}\r
\r
-void CExportDlg::SetRevision(const SVNRev& rev)\r
+void CExportDlg::SetRevision(const CString& rev)\r
{\r
- if (rev.IsHead())\r
+ if (rev==_T("HEAD"))\r
CheckRadioButton(IDC_REVISION_HEAD, IDC_REVISION_N, IDC_REVISION_HEAD);\r
else\r
{\r
CheckRadioButton(IDC_REVISION_HEAD, IDC_REVISION_N, IDC_REVISION_N);\r
CString sRev;\r
- sRev.Format(_T("%ld"), (LONG)rev);\r
+ sRev.Format(_T("%s"), rev);\r
SetDlgItemText(IDC_REVISION_NUM, sRev);\r
}\r
}\r