TMate replacement
Hello everyone,
Now that the build 6951 is out, it's high time to look at the new committed/incoming
changes functionality and to judge whether it's an adequate replacement for
TMate. We've done most of the things we had planned; some features that are
still planned to be added are:
- read/unread changelist support
- support for distinguishing CVS changelists by branch
- (maybe) optional possibility to load changes history from TeamCity rather
than the VCS server to reduce VCS load (particularly for CVS)
- display of "Update Project" results as a list of changelists, in addition
to the current tree grouped by status
With this in mind, are there any use cases that are covered by TMate but
not covered by IDEA's functionality?
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Please sign in to leave a comment.
I discovered something else in the debug logs for the committed changes. I added a file on a branch which has not been merged to HEAD yet. So it only exists on the branch. I see the following messages in idea.log for this file when refreshing:
2007-05-10 14:04:40,314 INFO - ges.committed.ChangesCacheFile - Checking file C:\dev\performasure\purt1\src\dist\config\agent\Attic\modelfilters.config
2007-05-10 14:04:40,314 INFO - ges.committed.ChangesCacheFile - Could not find local file for change C:\dev\performasure\purt1\src\dist\config\agent\Attic\modelfilters.config
Dang :P That makes the Incoming view pretty useless for me until it's fixed. Oh well, hopefully it's fixed soon :)
Adding this I still only get INFO messages for the committed.* loggers
but I logged a defect anyway.
http://www.jetbrains.net/jira/browse/IDEA-12684
R
Hello Dmitry,
I was looking for this button in the Incoming changes panel, since I had
to give initial values for these parameters the first time I went there.
R
Dear Gilles,
GP> Do you plan to add a Clearcase implementation ?
Yes, the only question is how smoothly CCase data will fit into IDEA's design
for incoming changes.
GP> If it's just a matter of being able to to 'preview' which elements
GP> would be changed after an update, it's available with the following
GP> command :
GP>
GP> cleartool update -print
I know, thanx anyway!
GP> (Produces a preview of the update operation: instead of copying or
GP> removing files, update prints a report to standard output of the
GP> actions it would take for each specified element.)
GP> As a side note, i'd like to know what strategy is used in Selena to
GP> perform an update of a project under Clearcase. It seems to issue a
GP> lot of cleartool commands which can be a big performance hog. I
GP> would suggest using a combination of commands like "cleartool ls -r"
GP> on each module and maybe "cleartool ls -r -view_only" to be more
GP> effective performance wise.
Generally, LS command is issues per list of files. In good case, we manage
to get all necessary information via one call to "ls" and one call to "Describe".
Thus I do not think "-view_only" will help here.
Starting form next week I'll make some optimizations, which will reduce amount
of calls to cleartool.
best wishes,
Michael Gerasimov,
Software Developer
JetBrains, Inc
Hello Gordon,
Thanks for the feedback!
done
fixed
We've changed the layout a bit in the next build - hopefully it'll be more
readable.
This should also be covered by the layout improvements we've made.
Couldn't reproduce this, sorry.
fixed
fixed
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Hello Martin,
Done. The action is on the toolbar, and Ctrl-C works as expected.
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Hi Dmitry,
I just installed 6951 and I have to say I'm impressed by the CVS browsing facilities - well done guys!
After the disappointment of losing TMate in Selena, and having to stick with IntelliJ 6, I can now start using Selena - excellent.
The only TMate features I don't see on the list is the ability to update (all or selectively) from the outstanding changes list (which I guess is the 'Incoming' changes?).
Hello Dave,
Thanks!
This is already implemented and will be included in the next EAP build.
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Thanks, Dmitry. Is there any chance to get it on the context menu too?
Dmitry Jemerov wrote:
>> What I really miss is a simple way to copy a commit message out of the
>> tree view. Currently I work on a project which is split into three
>> different branches, and every change has to be done on every branch.
>> So everything is very well supported, only to get at the commit
>> message is extremely difficult. What I would expect is an action 'Copy
>> Commit Message' in the context menu of the committed changes view.
Hello Dmitry,
>> The only TMate features I don't see on the list is the ability to
>> update (all or selectively) from the outstanding changes list (which
>> I guess is the 'Incoming' changes?).
>>
When looking at "Incoming" view, what's the difference between filter "Incoming"
and filter "None"?
Hello Taras,
>>> The only TMate features I don't see on the list is the ability to
>>> update (all or selectively) from the outstanding changes list (which
>>> I guess is the 'Incoming' changes?).
>>>
>> This is already implemented and will be included in the next EAP
>> build.
>>
None. :) It's just some experimentation, to see whether a separate "Incoming"
tab is better or worse than a single "Committed" tab with "Incoming" filter.
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
OK, thanks! ;)
How tough would it be to add an icon to incoming change list which says whether any of the changes on the incoming list will require merging with my current changes. If I'm in the middle of a large change that is going to take a while and require changing more files, I often want to update changes if they don't affect my current work, and defer updating changes that could conflict with my current work until just before I'm ready to commit. Having IDEA tell me whether it is "safe" to update an incoming change would be a real time saver.
--Dave Griffith
Hello Dave,
JIRA request please?
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
+1
I've been using Eclipse for the last couple of months and now that I am back on IntelliJ, I really miss the Synchronize view of Eclipse where I can filter and view incoming changes, outgoing changes and conflicts.
Todd
Hello Todd,
Have you actually tried the latest Selena EAP build? It's very interesting
for us to know which use cases of the Eclipse synchronize view are not covered
by IDEA's current functionality.
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
http://www.jetbrains.net/jira/browse/IDEA-12847 , now that I've gotten around to JIRA'ing.
--Dave Griffith
http://www.jetbrains.net/jira/browse/IDEA-12848
--Dave Griffith
Hi Dmitry
I am using Selena (Build 6963).
I like the local changes view in IDEA a lot. What I am missing that I liked in Eclipse is the global view available in the Syncronizing perspective. A tree view of my entire CVS workspace that had icon overlays showing me the incoming, outgoing, conflict status of each file. The conflict overlays are also promoted up the hierarchy, so that I can see at a glance if I have any conflicts, and I can drill down to find them.
I could also perform all of my syncrhonization from this view. The default action when double-clicking on a file is to display a diff view. I could then perform the merge (if conflicts) and mark the file as merged and it the conflict notation would be removed.
As I said in the earlier post, filters to show me only incoming changes, outgoing changes, or conflicts is another feature that I used frequently in Eclipse.
I must say I am a little confused by the Changes view in IDEA right now. Local changes I get and use frequently. However, the new committed and incoming tabs don't make a lot of sense to me. For example, I've just done a CVS update of my entire workspace, and yet my incoming tab shows over a hundred files. I would expect this to only show files that are different in the CVS repository than in my local workspace. Could be a bug with the implementation of branches, I suppose, since my current workspace is a branch.
Hope this helps, and thanks for a great IDE!
Todd
Hello Todd,
So do I understand correctly that your main use case for the view is locating
conflicts? Would it help if there was a single place in IDEA where all conflicts
would be displayed together?
Do you often synchronize only part of your project, rather than the entire
project? Why?
The functionality is still under active development, and full support for
CVS branches will be available in the next EAP build. The expected behavior
is that the incoming changes view should be empty after a project update.
The committed changes tab shows a complete history of changes in your project,
which you can filter by user, date or project structure (to see the changes
in a particular module or directory).
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Dmitriy
That's not the main use case, but it is an important one. A single place for conflict display and resolution would be nice, but if it's too far removed from other VCS views it might be cumbersome. That's why I like the consolidated view in the Eclipse synchronize perspective.
I do, sometimes. Because of the way our project and team is structured, I may need to update/commit a single directory or set of directories. For example, if one of our web designers has made changes to a JSP that might affect the code I am working on, I will only update a specific JSP directory and all of its descendants.
Good to hear. That is what I would expect. I'll keep an eye on this in future builds.
Yep. This works as expected.
Todd
Hello Dave,
Sneak preview. :)
http://pics.livejournal.com/yole/pic/000p9d9g
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Hotness!
Ooooh, shiny! I want it!!! And a status bar indicator of incoming changes! And project panel highlighting of changed files!! And a pony!!! Pony! Pony! Pony!
You guys are really starting to rock on this whole team integration stuff.
--Dave Griffith
>You guys are really starting to rock on this whole team integration stuff.
Which is not to excuse the TeamCity guys from their embarrassing lack of RSS notifications.
--Dave Griffith
We had to stop using TMate because it put too much load on our CVS server. I haven't used the new IDEA functionality enough to see if it suffers the same issue, but the thought of numerous individual IDEs hitting CVS to get updates concerns me somewhat. Based on my historical experience, I hope loading changes from TeamCity gets implemented.
As far as I can tell, it uses the CVS rlog command and it seems to be really slow. I was wondering why it doesn't use the CVS history command like TMate did?
In Selena EAP #6891, my "Incoming" pane stays populated, while I've just
done a full update to HEAD.
Are there known issues in this area, or should I submit a new JIRA ticket?
Is this perhaps related to the "failure to detect external changes" that
everyone's talking about?
-tt
And when we are at that issue: Would it be possible to have an 'update
project' button in the 'incoming' pane? It would be very handy to first
check what will be updated and then update it all at once (and then
seeing everything vanish from the 'incoming' pane of course...).
Taras Tielkes wrote:
--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com