899 args.append("--no-backup") |
901 args.append("--no-backup") |
900 args.append("-v") |
902 args.append("-v") |
901 if isinstance(name, list): |
903 if isinstance(name, list): |
902 dname, fnames = self.splitPathList(name) |
904 dname, fnames = self.splitPathList(name) |
903 self.addArguments(args, name) |
905 self.addArguments(args, name) |
|
906 names = name[:] |
904 else: |
907 else: |
905 dname, fname = self.splitPath(name) |
908 dname, fname = self.splitPath(name) |
906 args.append(name) |
909 args.append(name) |
|
910 names = [name] |
907 |
911 |
908 # find the root of the repo |
912 # find the root of the repo |
909 repodir = dname |
913 repodir = dname |
910 while not os.path.isdir(os.path.join(repodir, self.adminDir)): |
914 while not os.path.isdir(os.path.join(repodir, self.adminDir)): |
911 repodir = os.path.dirname(repodir) |
915 repodir = os.path.dirname(repodir) |
912 if os.path.splitdrive(repodir)[1] == os.sep: |
916 if os.path.splitdrive(repodir)[1] == os.sep: |
913 return False |
917 return False |
914 |
918 |
915 dia = HgDialog(self.trUtf8('Reverting changes'), self) |
919 project = e5App().getObject("Project") |
916 res = dia.startProcess(args, repodir) |
920 names = [project.getRelativePath(nam) for nam in names] |
917 if res: |
921 if names[0]: |
918 dia.exec_() |
922 dlg = DeleteFilesConfirmationDialog(self.parent(), |
919 res = dia.hasAddOrDelete() |
923 self.trUtf8("Revert changes"), |
920 self.checkVCSStatus() |
924 self.trUtf8("Do you really want to revert all changes to these files" |
|
925 " or directories?"), |
|
926 names) |
|
927 yes = dlg.exec_() == QDialog.Accepted |
|
928 else: |
|
929 yes = E5MessageBox.yesNo(None, |
|
930 self.trUtf8("Revert changes"), |
|
931 self.trUtf8("""Do you really want to revert all changes of""" |
|
932 """ the project?""")) |
|
933 if yes: |
|
934 dia = HgDialog(self.trUtf8('Reverting changes'), self) |
|
935 res = dia.startProcess(args, repodir) |
|
936 if res: |
|
937 dia.exec_() |
|
938 res = dia.hasAddOrDelete() |
|
939 self.checkVCSStatus() |
|
940 else: |
|
941 res = False |
|
942 |
921 return res |
943 return res |
922 |
944 |
923 def vcsMerge(self, name): |
945 def vcsMerge(self, name): |
924 """ |
946 """ |
925 Public method used to merge a URL/revision into the local project. |
947 Public method used to merge a URL/revision into the local project. |