This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 41735 - Commit confuses user about its start and its finish
Summary: Commit confuses user about its start and its finish
Status: CLOSED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 4.x
Hardware: PC All
: P2 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords: PERFORMANCE
Depends on: 31263
Blocks:
  Show dependency tree
 
Reported: 2004-04-06 12:42 UTC by Antonin Nebuzelsky
Modified: 2006-03-24 09:40 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonin Nebuzelsky 2004-04-06 12:42:44 UTC
1) I added a directory structure with files in it
into a VCS FS.

2) I ran recursive CVS/Add action on the directory
structure, thus marking all the files in all the
directories for addition at next commit.

3) I invoked CVS/Commit on the top-most folder.

  a) I was presented with a CVS Commit dialog, but
it took more than a second before the dialog appeared.
  b) I confirmed the dialog by clicking OK.
  c) Progress of the commit command was displayed.
  d) The commit finished and the status bar
displayed "Command Commit Command finished."
  e) I assumed the commit was complete because
nothing was happening for several seconds.
  f) Next CVS Commit dialog was displayed all of a
sudden. Then I realized the IDE runs a separate
Commit for each subfolder.
  g) back to b)

This approach currently has the following UI
Responsiveness bloopers which should be fixed:

* it takes a long time before the CVS Commit
dialog is displayed.

* user does not know how many separate commits
will happen and finishing of one commit makes him
think that commit is complete.
Comment 1 Martin Entlicher 2004-04-06 15:50:51 UTC
This should be addressed in promotion D. The problem is, that the
commit dialog waits for the template getter command to provide the
template text. The dialog has to be presented immediately with some
"please wait..." text.

Also multiple prompts needs to be treated somehow better, but I'm not
sure if it will be possible, since we do not know in advance whether
we need to ask the user again or not.
Comment 2 Martin Entlicher 2004-05-10 18:56:05 UTC
This depends on issue #31263. The VariableInputDialog needs to be
enhanced first so that it can run the pre-commands
(COMMIT_TEMPLATE_GETTER in this case) itself and provide some "Please
Wait..." text in the mean time.

Then the logic of CvsCommit needs to change a bit. The input
descriptor can be set directly to CvsCommit command. It will then
analyze the template and run Commit Command on the appropriate set of
files. When it detects that the commit template needs to be retrieved
again (not all files could be committed), it will run itself again.
Then the only problem is that when the second template getter finds
that all files were already committed, the dialog should be somehow
aborted.

Moving to vcsgeneric, after issue #31263 is fixed in vcscore, the rest
needs to be done in CVS profile.
Comment 3 Martin Entlicher 2004-05-13 20:19:38 UTC
The logic of commit command changed.
The input dialog is displayed immediatelly and commit template is
loaded later. Also, when the commit is to be executed multiple times,
the dialog is presented immediatelly every time.

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.10; previous revision: 1.9

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsCommit.java,v
 <--  CvsCommit.java
new revision: 1.18; previous revision: 1.17

RCS file:
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsCommitTemplateGetter.java,v
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsCommitTemplateGetter.java,v
 <--  CvsCommitTemplateGetter.java
initial revision: 1.1

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/config/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.36; previous revision: 1.35

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/config/cvs.xml,v
 <--  cvs.xml
new revision: 1.48; previous revision: 1.47
Comment 4 Antonin Nebuzelsky 2004-06-11 16:52:40 UTC
Verified fixed. Looks good. Thanks, Martin.