Actions:
|
2012-01-11 19:12 AEST by Arthur Barrett - server: detect when 'eclipse' clients try and do 'refactor rename'
This a little bit related to to bug 6376.
When a person tries to rename Address.java to ADDRESS.java when using CVS Suite Windows Server the
refactor silently fails because it tries to perform a remove/add which requires the case sensitive driver
for windows servers.
A better result is done by using 'cvs rename' (see bug 6376).
What would be great is if the server could automatically detect Eclipse renames and convert the
remove/add to a 'rename', or force a clear error message (that Eclipse will display - never any guarantee
of that). |
|
2012-01-11 19:22 AEST by Arthur Barrett - Created an attachment (id=2308)
eclipse detailed protocol trace
I LOVE YOU
Valid-responses ok error M E Updated Template Copy-file Mod-time
Set-static-directory Update-existing Clear-static-directory Set-sti
cky New-entry MT Notified Created Remove-entry Checked-in Merged Removed
Valid-requests Clear-sticky Module-expansion
valid-requests
Valid-requests Root Valid-responses valid-requests Directory Max-dotdot
Static-directory Sticky Entry EntryExtra Kopt Checkin-time C
hecksum Modified Is-modified UseUnchanged Unchanged Notify NotifyUser
Questionable Utf8 SvrPlatform Argument Argumentx Global_option
Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository end-message
expand-modules tell-me-curdir ci co chown rchown cha
cl2 rchacl2 lsacl rlsacl passwd info update diff log rlog add remove
update-patches status ls rls rdiff tag rtag import admin export
history release watch-on watch-off watch-add watch-remove watchers editors
editors-edit init annotate rannotate noop version hversi
on Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt
Protocol-encrypt Gssapi-authenticate Protocol-authenticate read-cvsr
c read-cvsrc2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage
client-version Can-Rename Valid-RcsOptions
ok
Root /myrepo
CMD> cvs -r version
Global_option -r
version
M Concurrent Versions System (CVS) 1.11.2 (client/server)
ok
RESULT> Status OK: org.eclipse.team.cvs.core code=4 ok null
CMD> cvs -r noop "/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/Use
rElement.java" "/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/Birth
day.java" "/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/UserFilePa
rser.java"
Global_option -r
Directory Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet
/myrepo/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet
Sticky T:1.2
Notify Birthday.java
E 11 Jan 2012 08:20:24 GMT UD6-PC
C:/Users/UD6_Sales/eclipse-indigo-workspace/org.eclipse.ui.examples.propertysheet/Ec
lipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet
Notify UserElement.java
E 11 Jan 2012 08:20:24 GMT UD6-PC
C:/Users/UD6_Sales/eclipse-indigo-workspace/org.eclipse.ui.examples.propertysheet/Ec
lipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet
Notify UserFileParser.java
E 11 Jan 2012 08:20:24 GMT UD6-PC
C:/Users/UD6_Sales/eclipse-indigo-workspace/org.eclipse.ui.examples.propertysheet/Ec
lipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet
Directory .
/myrepo/org.eclipse.ui.examples.propertysheet
noop
Notified Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/
C:/PROGRA~2/MARCHH~1/myrepo/org.eclipse.ui.examples.propertysheet/Eclipse UI
Examples PropertySheet/org/eclipse/ui/examples/property
sheet/Birthday.java
Notified Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/
C:/PROGRA~2/MARCHH~1/myrepo/org.eclipse.ui.examples.propertysheet/Eclipse UI
Examples PropertySheet/org/eclipse/ui/examples/property
sheet/UserElement.java
Notified Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/
C:/PROGRA~2/MARCHH~1/myrepo/org.eclipse.ui.examples.propertysheet/Eclipse UI
Examples PropertySheet/org/eclipse/ui/examples/property
sheet/UserFileParser.java
ok
RESULT> Status OK: org.eclipse.team.cvs.core code=4 ok null
|
|
2012-01-11 19:28 AEST by Arthur Barrett - Created an attachment (id=2309)
eclipse trace, refactor/rename just seems to do notify...
|
|
2012-01-11 19:38 AEST by Arthur Barrett - Created an attachment (id=2310)
trace of the commit part, which does the add/remove
The server reported an error while performing the "cvs add" command.
org.eclipse.ui.examples.propertysheet: cvsntsrv server: Eclipse UI Examples
PropertySheet/org/eclipse/ui/examples/propertysheet/BIRTHDAY.java added
independently by second party
About the only thing we could do would be:
1. better detect the difference between -'added independently' and 'added with
a different name'
2a. a compatibility option (for non-cvsnt clients) to translate 'adding with a
different name' to 'rename'
2b. the same compatibility option would need to ignore the 'remove'
2c. the actual commit is likely to include a changed file, but provided
.directory_history is actually 'committed' in step 2a. that'll be OK. |
|
2012-01-11 20:03 AEST by Arthur Barrett - Maybe we can detect Eclipse a little from:
Valid-responses ok error M E Updated Template Copy-file Mod-time Set-static-directory Update-
existing Clear-static-directory Set-sticky New-entry Notified Created Remove-entry Checked-in Merged
Removed Valid-requests Clear-sticky Module-expansion
This is generated from:
private String makeResponseList() {
StringBuffer result = new StringBuffer("ok error M E"); //$NON-NLS-1$
Iterator elements = getReponseHandlers().keySet().iterator();
while (elements.hasNext()) {
result.append(' ');
result.append((String) elements.next());
}
return result.toString();
}
Whereas a CVS ADD from CVS 1.12.13 client looks like this:
Root /cvs
Valid-responses ok error Valid-requests Force-gzip Referrer Redirect Checked-in New-entry Checksum
Copy-file Updated Created Update-existing Merged Patched Rcs-diff Mode Mod-time Removed
Remove-entry Set-static-directory Clear-static-directory Set-sticky Clear-sticky Edit-file Template
Clear-template Notified Module-expansion Wrapper-rcsOption M Mbinary E F MT
valid-requests
UseUnchanged
Global_option -r
wrapper-sendme-rcsOptions
Argument -kkv
Argument --
Directory .
/cvs/cvsnt/src
Sticky TCVSNT_2_0_x:1.1.4.1
Is-modified xoxoxoxox.txt
Argument xoxoxoxox.txt
add
|
|
2012-01-11 20:14 AEST by Arthur Barrett - and from 1.11.20 client:
Root /cvs
Valid-responses ok error Valid-requests Checked-in New-entry Checksum Copy-file Updated Created
Update-existing Merged Patched Rcs-diff Mode Mod-time Removed Remove-entry Set-static-directory
Clear-static-directory Set-sticky Clear-sticky Template Notified Module-expansion Wrapper-rcsOption
M Mbinary E F MT
valid-requests
UseUnchanged
Global_option -r
wrapper-sendme-rcsOptions
Argument -kkv
Argument --
Directory .
/cvs/cvsnt/src
Sticky TCVSNT_2_0_x:1.1.4.1
Is-modified aoaoaoaoaox.txt
Argument aoaoaoaoaox.txt
add
|