# HG changeset patch # User Chris Cannam # Date 1299069497 0 # Node ID 124a3ea9fafb556cc47ec8f3d4cfdad3fd8596aa # Parent 5144926b715e5ac48c5bf11d24aced65e0fde9d5# Parent 806e9cb9ce618655fd279c24a7cf461c64663fd4 Merge, and add a helpful warning when you try to push before committing your merge (I just did this and the ensuing warning was misleading) diff -r 806e9cb9ce61 -r 124a3ea9fafb easyhg_en.qm Binary file easyhg_en.qm has changed diff -r 806e9cb9ce61 -r 124a3ea9fafb easyhg_en.ts --- a/easyhg_en.ts Wed Mar 02 12:29:45 2011 +0000 +++ b/easyhg_en.ts Wed Mar 02 12:38:17 2011 +0000 @@ -1,53 +1,67 @@ - + ChangesetItem - <qt><b>&nbsp;Revision: </b>%1</qt> - Copy identifier to clipboard - Diff to parent %1 - Diff to parent - Diff to current working folder - Update to this revision - Merge from here to current - Add tag... + + Summarise changes + + + + Diff to left parent + + + + Diff to right parent + + + + Start new branch... + + + + + ClickableLabel + + <u>%1</u> + + ConfirmCommentDialog - <p>Please enter your comment:</qt> @@ -55,136 +69,125 @@ FileStatusWidget - - Local: - - - - - Remote: - - - - - State: - - - - - You have no uncommitted changes. - You have made no changes. - - - - Unmodified: - Modified: - Added: - Removed: - Missing: - In Conflict: - Untracked: - You have not changed these files. - You have changed these files since you last committed them. - - These files will be added to version control next time you commit. - - - - - These files will be removed from version control next time you commit.<br>They will not be deleted from the local folder. - - - - These files are recorded in the version control, but absent from your working folder.<br>If you intended to delete them, select them and use Remove to tell the version control system about it.<br>If you deleted them by accident, select them and use Revert to restore their previous contents. - These files are unresolved following an incomplete merge.<br>Select a file and use Merge to try to resolve the merge again. - - These files are in your working folder but are not under version control.<br>Select a file and use Add to place it under version control or Ignore to remove it from this list. + Files highlighted <font color=#d40000>in red</font> have appeared since your most recent commit or update. - - Files highlighted <font color=#d40000>in red</font> have appeared since your most recent commit or update. + Ignored: + + + + These files will be added to version control next time you commit them. + + + + These files will be removed from version control next time you commit them.<br>They will not be deleted from the local folder. + + + + These files are in your working folder but are not under version control.<br>Select a file and use Add to place it under version control. + + + + These files have names that match entries in the working folder's .hgignore file,<br>and so will be ignored by the version control system. + + + + Show all files + + + + <qt>This area will list files in your working folder that you have changed.<br><br>At the moment you have no uncommitted changes.<br><br>To see changes previously made to the repository,<br>switch to the History tab.<br><br>%1</qt> + + + + To open the working folder in Finder,<br>click on the &ldquo;Local&rdquo; folder path shown above. + + + + To open the working folder in Windows Explorer,<br>click on the &ldquo;Local&rdquo; folder path shown above. + + + + To open the working folder in your system file manager,<br>click the &ldquo;Local&rdquo; folder path shown above. + + + + <qt>You have no uncommitted changes.</qt> HgRunner - User name: - User name for "%1": - Enter user name - Password: - Password for "%1" at "%2": - Password for user "%1": - Enter password @@ -192,12 +195,10 @@ HgTabWidget - My work - History @@ -205,284 +206,187 @@ IncomingDialog - No changes waiting to pull - The command output was: - There are %n change(s) ready to pull There is %n change ready to pull There are %n changes ready to pull + + <qt>Your local repository already contains all changes found in the remote repository.</qt> + + MainWindow - - EasyMercurial - About EasyMercurial - - <qt><h2>About EasyMercurial</h2><p>EasyMercurial is a simple user interface for the Mercurial version control system.</p><p>EasyMercurial is based on hgExplorer by Jari Korhonen, with thanks.<br>EasyMercurial development carried out by Chris Cannam for soundsoftware.ac.uk at the Centre for Digital Music, Queen Mary, University of London.<ul><li>Copyright &copy; 2010 Jari Korhonen</li><li>Copyright &copy; 2010 Chris Cannam</li><li>Copyright &copy; 2010 Queen Mary, University of London</li></ul><p> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. - - - - Commit files - Tag - Enter tag: - Revert files - - - - - - <h3>%1</h3><p>%2 - - - - - You are about to commit the following files: - - - - - You are about to <b>revert</b> the following files to their previous committed state.<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed: - - - You are about to <b>revert</b> %n file(s).<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed. - You are about to <b>revert</b> %n files.<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed. - You are about to <b>revert</b> %n file.<br><br>This will <b>throw away any changes</b> that you have made to this file but have not committed. + You are about to <b>revert</b> %n file.<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed. You are about to <b>revert</b> %n files.<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed. - Merge from the default branch - Merge from branch "%1" - Merge from %1 - Confirm pull - - Confirm pull from remote repository - - - - - You are about to pull from the following remote repository: - - - - Confirm push - - Confirm push to remote repository - - - - - You are about to push to the following remote repository: - - - - Open Repository - <qt><big>What would you like to open?</big></qt> - <qt><center><img src=":images/browser-64.png"><br>Remote repository</center></qt> - Open a remote Mercurial repository, by cloning from its URL into a local folder. - <qt><center><img src=":images/hglogo-64.png"><br>Local repository</center></qt> - Open an existing local Mercurial repository. - <qt><center><img src=":images/hdd_unmount-64.png"><br>File folder</center></qt> - Open a local folder, by creating a Mercurial repository in it. - File chosen - <qt><b>Folder required</b><br><br>You asked to open "%1".<br>This is a file; to open a repository, you need to choose a folder.</qt> - - Folder does not exist - <qt><b>Folder does not exist</b><br><br>You asked to open "%1".<br>This folder does not exist, and it cannot be created because its parent does not exist either.</qt> - - Path is in existing repository - <qt><b>Path is in an existing repository</b><br><br>You asked to initialise a repository at "%1".<br>This path is already inside an existing repository.</qt> - - Path is a file - <qt><b>Path is a file</b><br><br>You asked to initialise a repository at "%1".<br>This is an existing file; it is only possible to initialise in folders.</qt> - - <qt><b>Local path is in an existing repository</b><br><br>You asked to open a remote repository by cloning it to the local path "%1".<br>This path is already inside an existing repository.<br>Please provide a new folder name for the local repository.</qt> - - - - <qt><b>Local path is a file</b><br><br>You asked to open a remote repository by cloning it to the local path "%1".<br>This path is an existing file.<br>Please provide a new folder name for the local repository.</qt> - Folder exists - - <qt><b>Local folder already exists</b><br><br>You asked to open a remote repository by cloning it to the local path "%1".<br>This is the path of an existing folder.<br>Please provide a new folder name for the local repository.</qt> - - - - Path is inside a repository - <qt><b>Open the repository that contains this path?</b><br><br>You asked to open "%1".<br>This is not the root folder of a repository.<br>But it is inside a repository, whose root is at "%2". <br><br>Would you like to open that repository instead?</qt> - Folder has no repository - <qt><b>Initialise a repository here?</b><br><br>You asked to open "%1".<br>This folder does not contain a Mercurial repository.<br><br>Would you like to initialise a repository here?</qt> - <qt><b>Initialise a new repository?</b><br><br>You asked to open "%1".<br>This folder does not yet exist.<br><br>Would you like to create the folder and initialise a new empty repository in it?</qt> - Repository exists - <qt><b>Open existing repository?</b><br><br>You asked to initialise a new repository at "%1".<br>This folder already contains a repository. Would you like to open it?</qt> - Ok - Mercurial command did not return any output. - Pushed %n changeset(s) Pushed %n changeset @@ -490,22 +394,14 @@ - No changes to push - Push complete - - - The push command output was: - - - Pulled %n changeset(s) Pulled %n changeset @@ -513,81 +409,50 @@ - No changes to pull - Pull complete - - The pull command output was: - - - - - <qt><h3>Command failed</h3><p>The following command failed:</p><code>%1</code>%2</qt> - - - - - <p>Its output said:</p><code>%1</code> - - - - Command failed - Change summary - Summary of uncommitted changes - - - Update - - - Merge - the default branch - branch "%1" - On %1. Not at the head of the branch: consider updating - <b>Awaiting merge</b> on %1 - You are about to commit %n file(s) to %1. You are about to commit %n file to %1. @@ -595,336 +460,465 @@ - <qt><h3>Update successful</h3><p>%1</p> - - <qt><h3>Merge successful</h3><p>%1</p> - - - - Resolved - - <qt><h3>Merge resolved</h3><p>Merge resolved successfully.</p> - - - - Nothing committed to this repository yet - Have unresolved files following merge on %1 - Have merged but not yet committed on %1 - On %1. Not at the head of the branch - At one of %n heads of %1 - - + At one of %n heads of %1 + At one of %n heads of %1 - At the head of %1 - - Init local repository - - - - - Create an empty local repository in selected folder - - - - - Clone from remote - - - - - Clone from remote repository into local repository in selected folder - - - - Open... - - Open repository - - - - Settings... - View and change application settings - - Exit - - - - - Exit application - - - - Refresh - - Refresh (info of) status of workfolder files - - - - Preview - - View info of changesets incoming to us from remote repository (on pull operation) - - - - Pull - - Pull changesets from remote repository to local repository - - - - Push - - Push local changesets to remote repository - - - - Diff - - Folderdiff: View all differences between working folder files and local repository files - - - - - View changesetdiff - - - - - Change set diff: View differences between all files of 2 repository changesets - - - - Revert - - Undo selected working folder file changes (return to local repository version) - - - - Add - - Add working folder file(s) (selected or all yet untracked) to local repository (on next commit) - - - - Remove - - Remove selected working folder file from local repository (on next commit) - - - - - Update working folder from local repository - - - - Commit - - Save selected file(s) or all changed files in working folder (and all subfolders) to local repository - - - - - Merge two local repository changesets to working folder - - - - Annotate - Show line-by-line version information for selected file - - Tag revision - - - - - Give decsriptive name (tag) to current workfolder parent revision. - - - - - Edit .hgignore - - - - - Edit .hgignore file (file contains names of files that should be ignored by mercurial) - - - - - Serve (via http) - - - - Serve local repository via http for workgroup access - - About - - - - - Show the application's About box - - - - - About Qt - - - - - Show the Qt library's About box - - - - - Clear selections - - - - - File - Advanced - Help - Ready + + <p><b>Note:</b> you are committing only the files you have selected, not all of the files that have been changed! + + + + <h3>%1</h3><p>%2%3 + + + + You are about to commit the following files to %1: + + + + New Branch + + + + Enter new branch name: + + + + Start Branch + + + + Add Tag + + + + <p><b>Note:</b> you are reverting only the files you have selected, not all of the files that have been changed! + + + + Unable to revert + + + + <qt><b>Sorry, unable to revert these files</b><br><br>EasyMercurial can only revert a subset of files during a merge if it still has a record of which parent was the original merge target; that information is no longer available.<br><br>This is a limitation of EasyMercurial. Consider reverting all files, or using hg revert with a specific revision at the command-line instead.</qt> + + + + You are about to <b>revert</b> the following files to their previous committed state.<br><br>This will <b>throw away any changes</b> that you have made to these files but have not committed. + + + + <qt><h3>Pull from remote repository?</h3></qt> + + + + <qt><p>You are about to pull changes from the remote repository at <code>%1</code>.</p></qt> + + + + <qt><h3>Push to remote repository?</h3></qt> + + + + <qt><p>You are about to push your changes to the remote repository at <code>%1</code>.</p></qt> + + + + Serve + + + + Failed to identify an active IPv4 address + + + + <p>Press Close to stop the server and return.</p> + + + + Change Remote Location + + + + <qt><big>Change the remote location</big></qt> + + + + Provide a new URL to use for push and pull actions from the current local repository. + + + + Path does not exist + + + + <qt><b>Path does not exist: create it?</b><br><br>You asked to open a remote repository by cloning it to "%1". This folder does not exist, and neither does its parent.<br><br>Would you like to create the parent folder as well?</qt> + + + + Failed to create folder + + + + <qt><b>Failed to create folder</b><br><br>Sorry, the path for the parent folder "%1" could not be created.</qt> + + + + <qt><b>Local path is in an existing repository</b><br><br>You asked to open a remote repository by cloning it to the local path "%1".<br>This path is already inside an existing repository.<br>Please provide a different folder name for the local repository.</qt> + + + + <qt><b>Local folder already exists</b><br><br>You asked to open a remote repository by cloning it to "%1", but this folder already exists and so cannot be cloned to.<br><br>Would you like to create the new folder "%2" instead?</qt> + + + + <qt><b>Local folder already exists</b><br><br>You asked to open a remote repository by cloning it to "%1", but this file or folder already exists and so cannot be cloned to.<br>Please provide a different folder name for the local repository.</qt> + + + + <qt>Successfully pushed to the remote repository at <code>%1</code>.</qt> + + + + The remote repository already contains all changes that have been committed locally. + + + + %1<p>You do have some uncommitted changes. If you wish to push those to the remote repository, commit them locally first. + + + + The new changes will be highlighted in the history.<br>Use Update to bring these changes into your working copy. + + + + Your local repository already contains all changes found in the remote repository. + + + + Push failed + + + + Your local repository could not be pushed to the remote repository.<br><br>You may need to merge the changes locally first. + + + + Your local repository could not be pushed to the remote repository.<br><br>The remote repository may have been changed by someone else since you last pushed. Try pulling and merging their changes into your local repository first. + + + + Preferences + + + + Settings + + + + Failed to run Mercurial + + + + The Mercurial program either could not be found or failed to run.<br>Check that the Mercurial program path is correct in %1. + + + + Failed to run Mercurial with extension enabled + + + + The Mercurial program failed to run with the EasyMercurial interaction extension enabled.<br>This may indicate an installation problem.<br><br>You may be able to continue working if you switch off &ldquo;Use EasyHg Mercurial Extension&rdquo; in %1. Note that remote repositories that require authentication might not work if you do this. + + + + A Mercurial command failed to run correctly. This may indicate an installation problem or some other problem with EasyMercurial.<br><br>See &ldquo;More Details&rdquo; for the command output. + + + + Clone + + + + Clone successful + + + + The remote repository was successfully cloned to the local folder <code>%1</code>. + + + + Summary of changes + + + + No changes + + + + Merge successful + + + + Remember to test and commit the result before making any further changes. + + + + <qt><h3>Merge resolved</h3><p>Merge resolved successfully.<br>Remember to test and commit the result before making any further changes.</p> + + + + EasyMercurial: %1 + + + + No repository open + + + + (Examining repository) + + + + No working copy yet: consider updating + + + + On %1. New branch: has not yet been committed + + + + Open an existing repository or working folder + + + + Change Remote Location... + + + + Change the default remote repository for pull and push actions + + + + Quit + + + + Quit EasyMercurial + + + + Refresh the window to show the current state of the working folder + + + + See what changes are available in the remote repository waiting to be pulled + + + + Pull changes from the remote repository to the local repository + + + + Push changes from the local repository to the remote repository + + + + See what has changed in the working folder compared with the last committed state + + + + Throw away your changes and return to the last committed state + + + + Mark the selected file(s) to be added on the next commit + + + + Mark the selected file(s) to be removed from version control on the next commit + + + + Update the working folder to the head of the current repository branch + + + + Commit your changes to the local repository + + + + Merge the two independent sets of changes in the local repository into the working folder + + + + Edit .hgignore File + + + + Edit the .hgignore file, containing the names of files that should be ignored by Mercurial + + + + Serve via HTTP + + + + <qt><h2>EasyMercurial v%1</h2><font size=-1><p>EasyMercurial is a simple user interface for the Mercurial</a> version control system.</p><h4>Credits and Copyright</h4><p>Development carried out by Chris Cannam for SoundSoftware.ac.uk at the Centre for Digital Music, Queen Mary, University of London.</p><p>EasyMercurial is based on HgExplorer by Jari Korhonen, with thanks.</p><p style="margin-left: 2em;">Copyright &copy; 2011 Queen Mary, University of London.<br>Copyright &copy; 2010 Jari Korhonen.<br>Copyright &copy; 2011 Chris Cannam.</p><p style="margin-left: 2em;">This program requires Mercurial, by Matt Mackall and others.<br>This program uses Qt by Nokia.<br>This program uses Nuvola icons by David Vignoni.<br>This program may use KDiff3 by Joachim Eibl.<br>This program may use PyQt by River Bank Computing.<br>Packaging for Mercurial and other dependencies on Windows is derived from TortoiseHg by Steve Borho and others.</p><h4>License</h4><p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information.</p></font> + + + + Running temporary server at %n address(es): + + + + + + + MoreInformationDialog + + More Details... + + + + Show Details... + + + + Hide Details... + + MultiChoiceDialog - &URL: - - &File: - Browse... - Open Directory - Open File - - &Folder: @@ -932,7 +926,6 @@ QApplication - EasyMercurial @@ -940,74 +933,175 @@ QObject - Identifier: - Identifier - Author: - Author - Date: - Date - Branch: - Branch - Tag: - Tag - Comment: - Comment RepositoryDialog - Open Repository + SettingsDialog + + Settings + + + + User details + + + + Name: + + + + Email address: + + + + Presentation + + + + Show labels on toolbar icons + + + + Show long descriptions for file status headings + + + + Place the work and history views + + + + In separate tabs + + + + Side-by-side in a single pane + + + + Label the history timeline with + + + + Ages, for example "5 weeks ago" + + + + Dates, for example "2010-06-23" + + + + System application locations + + + + Mercurial (hg) program: + + + + Browse... + + + + External diff program: + + + + External file-merge program: + + + + External text editor: + + + + EasyHg Mercurial extension: + + + + Use EasyHg Mercurial extension + + + + Restore defaults + + + + Mercurial program + + + + External diff program + + + + External file-merge program + + + + External text editor + + + + EasyHg Mercurial extension + + + + Restore default settings? + + + + <qt><b>Restore default settings?</b><br><br>Are you sure you want to reset all settings to their default values? + + + + StartupDialog - About me - <qt><big>Welcome to EasyMercurial!</qt></big><br>How would you like to be identified in commit messages? - Name: - Email address: - <br>You will appear as: @@ -1015,44 +1109,59 @@ UncommittedItem - <qt><b>&nbsp;Uncommitted changes</b></qt> - Diff - - Show summary - - - - Commit... - Revert... - Uncommitted changes - Uncommitted - changes + + Summarise changes + + + + Start new branch... + + + + Cancel new branch + + + + + WorkStatusWidget + + Local: + + + + Remote: + + + + State: + + diff -r 806e9cb9ce61 -r 124a3ea9fafb mainwindow.cpp --- a/mainwindow.cpp Wed Mar 02 12:29:45 2011 +0000 +++ b/mainwindow.cpp Wed Mar 02 12:38:17 2011 +0000 @@ -1708,6 +1708,13 @@ tr("Push failed"), tr("Your local repository could not be pushed to the remote repository.

You may need to merge the changes locally first."), output); + } else if (m_hgTabs->canCommit() && m_currentParents.size() > 1) { + MoreInformationDialog::warning + (this, + tr("Push failed"), + tr("Push failed"), + tr("Your local repository could not be pushed to the remote repository.

You have an uncommitted merge in your local folder. You probably need to commit it before you push."), + output); } else { MoreInformationDialog::warning (this,