History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-13061
Type: Bug Bug
Status: Open Open
Assignee: Alexander Kitaev
Reporter: Jacques Morel
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

Cancel a svn commit, still commits partial changes and leaves workspace as if nothing was committed!

Created: 04 Jun 07 05:32   Updated: 06 Jun 07 02:16
Component/s: Version Control Integration. Subversion

Environment: Windows XP SP2. default JRE

Build: 6,913
Severity: Extreme


 Description  « Hide
Canceling in the middle of a commit does not cancel the operation completely. It seems like the modifications that have been already sent to the server are committed. The local workspace isn't modified so the committed files are still marked as they were before the commit.

Here is relevant part of the log

2007-06-03 18:29:53,847 [1144705] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:30:18,151 [1169009] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:30:28,241 [1179099] INFO - .javaCompiler.ExternalCompiler - Running compiler: C:\java\jdk1.5.0_11\bin\java -Xmx200m -Dfile.encoding=windows-1252 -Duser.language=en -Duser.country=US -classpath C:\java\jdk1.5.0_11\lib\tools.jar;D:\java\IDEA6913\lib\idea_rt.jar com.intellij.rt.compiler.JavacRunner "java version "1.5.0_11"" com.sun.tools.javac.Main -source 1.5 -verbose -bootclasspath @C:\Temp\javac_bootcp6187.tmp -classpath @C:\Temp\javac_cp6188.tmp -sourcepath "" -d D:\Liberty\liberty-trunk2\exploded\WEB-INF\test-classes -g -deprecation -encoding UTF8 @C:\Temp\javac6189.tmp
2007-06-03 18:30:31,927 [1182785] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:31:05,261 [1216119] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:31:32,113 [1242971] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:35:00,831 [1451689] INFO - ellij.openapi.vcs.VcsException -
org.tmatesoft.svn.core.SVNCancelException: svn: Operation cancelled
at org.jetbrains.idea.svn.checkin.SvnCheckinEnvironment$1.checkCancelled(SvnCheckinEnvironment.java:126)
at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.checkCancelled(SVNWCAccess.java:74)
at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea.runLogs(SVNAdminArea.java:705)
at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea.commit(SVNAdminArea.java:1302)
at org.tmatesoft.svn.core.wc.SVNCommitClient.doCommit(SVNCommitClient.java:716)
at org.jetbrains.idea.svn.checkin.SvnCheckinEnvironment.doCommit(SvnCheckinEnvironment.java:169)
at org.jetbrains.idea.svn.checkin.SvnCheckinEnvironment.commitInt(SvnCheckinEnvironment.java:133)
at org.jetbrains.idea.svn.checkin.SvnCheckinEnvironment.commit(SvnCheckinEnvironment.java:262)
at com.intellij.openapi.vcs.changes.ui.CommitHelper$4.process(CommitHelper.java:0)
at com.intellij.openapi.vcs.changes.ChangesUtil.processItemsByVcs(ChangesUtil.java:114)
at com.intellij.openapi.vcs.changes.ChangesUtil.processChangesByVcs(ChangesUtil.java:119)
at com.intellij.openapi.vcs.changes.ui.CommitHelper.b(CommitHelper.java:38)
at com.intellij.openapi.vcs.changes.ui.CommitHelper.access$100(CommitHelper.java:73)
at com.intellij.openapi.vcs.changes.ui.CommitHelper$2.run(CommitHelper.java:2)
at com.intellij.openapi.vcs.changes.ui.CommitHelper$1.run(CommitHelper.java:1)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$4.run(ProgressManagerImpl.java:4)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$5.run(ProgressManagerImpl.java:1)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:2)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:34)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:5)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:9)
at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:4)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:8)
2007-06-03 18:35:18,253 [1469111] INFO - mit.DelayedCommitCommitSession - Personal session started: 2786 [id=3620084] Commit initial state of BeanWrapper and associated tests in order to make BeanWrapper more extendable
2007-06-03 18:35:19,022 [1469880] INFO - dCommit.PersonalBuildsSnapshot - Personal build changed status. Build 2788 status NORMAL
2007-06-03 18:35:41,368 [1492226] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:35:54,604 [1505462] INFO - t.PersonalBuildEventsGenerator - Missed event generated: buildFinished:2788
2007-06-03 18:35:54,604 [1505462] INFO - dCommit.PersonalBuildsSnapshot - Personal build finished. Build 2788 status ERROR
2007-06-03 18:35:54,604 [1505462] INFO - ommit.PersonalChangesProcessor - Personal build finished. Build 2788 status ERROR
2007-06-03 18:36:11,806 [1522664] INFO - lij.localVcs.impl.LocalVcsImpl - purged 0 items
2007-06-03 18:36:36,919 [1547777] INFO - mit.DelayedCommitCommitSession - Personal session started: 2790 [id=3620084] Commit initial state of BeanWrapper and associated tests in order to make BeanWrapper more extendable



 All   Comments   Work Log   Change History      Sort Order:
Alexander Kitaev - 05 Jun 07 23:47
Hello,

Commit operation consists of two parts. First is commit itself when files are sent to the server. Unless commit is finalized, modifications will not appear in repository. After that Subversion client updates local working copy to update stored administrative information. From the exception above it looks like commit was interrupted during this second stage. At that point committed transaction could not be rolled back.

Regarding working copy update - in case commit is interrupted at that point, working copy remains in "locked" state and user have to run "cleanup" operation. Usually cleanup "fixes" working copy setting to the correct post-commit state. It is capable to that because all operations that have to be performed are journaled before execution (during first stage of commit) and "cleanup" merely completes uncompleted operation from the journal file.

Alexander Kitaev.


Jacques Morel - 06 Jun 07 02:16
As I said, it appears as if the commit did only send a few files and not the entire changeset.
What do you need more to help you diagnose this problem?