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

Key: IDEADEV-11943
Type: Bug Bug
Status: Open Open
Priority: Normal Normal
Assignee: Dmitry Jemerov
Reporter: Chris Miller
Votes: 0
Watchers: 1
Operations

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

CVS commit fails silently with sticky tags

Created: 02 Sep 06 18:17   Updated: 24 Jan 07 15:11
Component/s: Version Control Integration. CVS
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 5,650
Severity: High


 Description  « Hide
If I have a tagged revision of a file checked out and it hasn't been branched, any changes I try to commit appear to commit successfully but in fact don't.

IDEA should give an error, or better still offer to update with -A to reset the sticky tag before checkin.

This bug has existed for ages and has been driving me nuts, but I've only just recently figured out what the problem was!



 All   Comments   Work Log   Change History      Sort Order:
Dmitry Jemerov - 06 Sep 06 14:23
I wasn't able to reproduce this problem. In this situatiom, I got a "Commit failed with errors" message box, and the specific error messages describing the problem were displayed in the Messages pane.

What's the CVS server version that you are using? What happens if you try to commit such a checked-out file from the command line?


Chris Miller - 06 Sep 06 15:32
"cvs -version" on the gives:

Concurrent Versions System (CVS) 1.11.1p1 (client/server)

"cvs commit <myFile>" gives:

suncvs server: sticky tag `<myTag>' for file `<myFile>' is not a branch
suncvs [server aborted]: correct above errors first!
suncvs commit: saving log message in /tmp/cvswBaO.h

Checking in the same file via idea results in everything progressing in what appears to be the same way as a successful commit, with the status bar finishing by saying "Commit Changes: Completed successfully". No CVS log message appears (ie the CVS toolwindow is still greyed out).

Please let me know if there's anything else you'd like me to try.


Chris Miller - 06 Sep 06 15:50
I just upgraded to a recent version, without any change in behaviour:

>cvs -version
Concurrent Versions System (CVS) 1.11.21 (client/server)

>uname -a
SunOS jsh1.london.kbcfp.com 5.7 Generic_106541-17 sun4u sparc SUNW,Ultra-80


Irina Petrovskaya - 26 Oct 06 16:28
we still cannot recreate the problem here... Could you please provide some additional information:
1) what OS do you have?
2) have you set some not-default options related to Version Control or IDEA appearance?
3) are any cvs errors shown for you at all? what specific ones?

Chris Miller - 30 Oct 06 18:02
1) I'm running IDEA on Windows XP
2) Not that I'm aware of. Alloy Glass L&F, and the CVS tool window is pinned and docked at the bottom.
3) No CVS errors are shown in IDEA in the CVS tool window, however I just dug up cvs.output (from C:\Program Files\JetBrains\Intellij IDEA 6.0\bin\cvs.output), and it did contain the following:

valid-requests
Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify Questionable Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set expand-modules ci co update diff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag import admin export history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version
ok
Root /proj/blah/cvs
Valid-responses E M MT Updated Checked-in ok error Clear-static-directory Valid-requests Merged Removed Copy-file Mod-time Mode Kopt Template Set-static-directory Module-expansion Clear-sticky Set-sticky New-entry Mbinary EntriesExtra
UseUnchanged
Argument -f
Argument -R
Directory java/com/blah/blah/common/util
/proj/blah/cvs/common/src/java/com/blah/blah/common/util
Entry /StringUtils.java/1.2///Tcommon_1
Modified StringUtils.java
u=rw,g=r,o=r
1330
Argument -m
Argument Testing CVS problem
Directory .
/proj/blah/cvs/common/src
Argument java/com/blah/blah/common/util/StringUtils.java
ci
E suncvs commit: sticky tag `common_1' for file `java/com/blah/blah/common/util/StringUtils.java' is not a branch
E suncvs [commit aborted]: correct above errors first!
error
valid-requests
Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify Questionable Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set expand-modules ci co update diff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag import admin export history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version
ok
Root /proj/blah/cvs
Valid-responses E M MT Updated Checked-in ok error Clear-static-directory Valid-requests Merged Removed Copy-file Mod-time Mode Kopt Template Set-static-directory Module-expansion Clear-sticky Set-sticky New-entry Mbinary EntriesExtra
UseUnchanged
Directory java/com/blah/blah/common/util
/proj/blah/cvs/common/src/java/com/blah/blah/common/util
Entry /StringUtils.java/1.2///Tcommon_1
Modified StringUtils.java
u=rw,g=r,o=r
1330
Argument -F
Argument common_1
Directory .
/proj/blah/cvs/common/src
Argument java/com/blah/blah/common/util/StringUtils.java
tag
ok
valid-requests
Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify Questionable Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set expand-modules ci co update diff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag import admin export history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version
ok
Root /proj/blah/cvs
Valid-responses E M MT Updated Checked-in ok error Clear-static-directory Valid-requests Merged Removed Copy-file Mod-time Mode Kopt Template Set-static-directory Module-expansion Clear-sticky Set-sticky New-entry Mbinary EntriesExtra
UseUnchanged
Directory java/com/blah/blah/common/util
/proj/blah/cvs/common/src/java/com/blah/blah/common/util
Entry /StringUtils.java/1.2///Tcommon_1
Modified StringUtils.java
u=rw,g=r,o=r
1330
Argument -F
Argument common_1
Directory .
/proj/blah/cvs/common/src
Argument java/com/blah/blah/common/util/StringUtils.java
tag
ok


Chris Miller - 30 Oct 06 18:09
Note also that this still happens on build #6068. I never get the "commit failed with errors" dialog, I just get "Commit Changes: Completed successfully". The file(s) I've tried to commit still have blue text rather than black on their editor tab though, so IDEA does seem to be aware that the files still aren't in sync with the codestore.

Please let me know if there's anything further you'd like me to try.


Irina Petrovskaya - 16 Nov 06 13:14
the only idea i have is that the cvs error output is not processed correctly due to the non-standard output from suncvs ('suncvs' prefix instead of 'cvs' one). Since i have no solaris server i cannot check this myself... Is it possible for you to access some cvs repository that runs not on sunos to check if the problem is repeatable anyway?

Sascha Weinreuter - 16 Nov 06 13:29
See IDEADEV-6446 which I just managed to reproduce again in #6103: If the cvs-executable is not named "cvs", commit-errors are silently ignored (again).

Irina Petrovskaya - 16 Nov 06 17:08
the problem is really in the non-standard cvs output.
It is possible to recreate the bug without suncvs using for example in the following way (on windows):
create some local repository
copy the cvs.exe (from cvsnt installation) to 'suncvs.exe'
in idea create new local cvs configuration using this repository; select the 'suncvs.exe' as cvs executable to run

now try to commit the file that has been updated to some revision:
the error produced by cvs can be found in cvs.output, but no error dialog etc appear in idea.