2.x feature request: Source control support (Subversion, mainly)

Hi All,

I have been using the EAP version of Resharper along with the source
control plugin for Subversion (AnkhSVN), and it has been giving me a lot
of grief.

The main problem is that refactoring (in particular renaming of files)
is a major problem when files are under source control, and the two
plugins are unable to cooperate about the changes.

Seeing how you're also integrating support for unit testing, perhaps you
might also consider adding support for source control. If Resharper was
also doing the source control I'm sure refactoring would be a much
smoother experience.

PS: I'd also like to see support for other unit testing frameworks than
NUnit (like MbUnit and CsUnit).

Yours,
Morten

25 comments
Comment actions Permalink

Hello Morten,

could you please elaborate on other problems (besides renaming of files)
you see
when using ReSharper and AnkhSVN together? Thanks.


Regards,
Dmitry Shaporenkov
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

Hi All,

I have been using the EAP version of Resharper along with the source
control plugin for Subversion (AnkhSVN), and it has been giving me a
lot of grief.

The main problem is that refactoring (in particular renaming of files)
is a major problem when files are under source control, and the two
plugins are unable to cooperate about the changes.

Seeing how you're also integrating support for unit testing, perhaps
you might also consider adding support for source control. If
Resharper was also doing the source control I'm sure refactoring would
be a much smoother experience.

PS: I'd also like to see support for other unit testing frameworks
than NUnit (like MbUnit and CsUnit).

Yours,
Morten



0
Comment actions Permalink

csUnit is cuurently supported. but AFAIK this is a dead project...

mbUnit willbe supported in 2.X

--
Eugene Pasynkov
Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
"Morten Mertner" <morten@mertner.com> wrote in message
news:dvkqei$hc$1@is.intellij.net...

Hi All,

>

I have been using the EAP version of Resharper along with the source
control plugin for Subversion (AnkhSVN), and it has been giving me a lot
of grief.

>

The main problem is that refactoring (in particular renaming of files)
is a major problem when files are under source control, and the two
plugins are unable to cooperate about the changes.

>

Seeing how you're also integrating support for unit testing, perhaps you
might also consider adding support for source control. If Resharper was
also doing the source control I'm sure refactoring would be a much
smoother experience.

>

PS: I'd also like to see support for other unit testing frameworks than
NUnit (like MbUnit and CsUnit).

>

Yours,
Morten



0
Comment actions Permalink

I guess lots of people would love to see an alternative to Ankh anyway -
its progress is rather slow and most people end up using TortoiseSVN
only. Which indeed is a pain when it comes to refactoring.

I think asking for SVN support is a rather big thing to ask, but I
assume it would draw quite some attention to R#. I would even pay for an
SVN plug-in and I assume I'm not the only one...

Cheers,
Philipp




Morten Mertner wrote:

Hi All,

I have been using the EAP version of Resharper along with the source
control plugin for Subversion (AnkhSVN), and it has been giving me a lot
of grief.

The main problem is that refactoring (in particular renaming of files)
is a major problem when files are under source control, and the two
plugins are unable to cooperate about the changes.

Seeing how you're also integrating support for unit testing, perhaps you
might also consider adding support for source control. If Resharper was
also doing the source control I'm sure refactoring would be a much
smoother experience.

PS: I'd also like to see support for other unit testing frameworks than
NUnit (like MbUnit and CsUnit).

Yours,
Morten

0
Comment actions Permalink

We consider providing support for SVN (probably, as separate addin). Your
votes and thoughts are welcome.

Valentin Kipiatkov
Chief Scientist, Vice President of Product Development
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

I guess lots of people would love to see an alternative to Ankh anyway
- its progress is rather slow and most people end up using TortoiseSVN
only. Which indeed is a pain when it comes to refactoring.

I think asking for SVN support is a rather big thing to ask, but I
assume it would draw quite some attention to R#. I would even pay for
an SVN plug-in and I assume I'm not the only one...

Cheers,
Philipp
Morten Mertner wrote:

>> Hi All,
>>
>> I have been using the EAP version of Resharper along with the source
>> control plugin for Subversion (AnkhSVN), and it has been giving me a
>> lot of grief.
>>
>> The main problem is that refactoring (in particular renaming of
>> files) is a major problem when files are under source control, and
>> the two plugins are unable to cooperate about the changes.
>>
>> Seeing how you're also integrating support for unit testing, perhaps
>> you might also consider adding support for source control. If
>> Resharper was also doing the source control I'm sure refactoring
>> would be a much smoother experience.
>>
>> PS: I'd also like to see support for other unit testing frameworks
>> than NUnit (like MbUnit and CsUnit).
>>
>> Yours,
>> Morten


0
Comment actions Permalink

+1 for Ankh. Even if slow progress it works (especially the last snapshot is quite nice).

0
Comment actions Permalink

-1 for Ankh. Did not work well for me. I encountered lots of problems
and finally deinstalled it (and even this caused problems).

0
Comment actions Permalink

is it possible to hook r# by an r# addin when files are renamed by r#?

0
Comment actions Permalink

Hello Carsten,

yes, that's possible. But the problem I see is that the respecive event is
raised after the file
has been renamed, while for source control integration you most likely need
to get a notification
when a file is about to be renamed.


Regards,
Dmitry Shaporenkov
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

is it possible to hook r# by an r# addin when files are renamed by r#?



0
Comment actions Permalink

"Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in message
news:c8a894d913036c8c81a4e9f559aa2@news.intellij.net...

Hello Carsten,

>

yes, that's possible. But the problem I see is that the respecive event is
raised after the file
has been renamed, while for source control integration you most likely

need

to get a notification
when a file is about to be renamed.



It would actually have to completely take over the rename operation in order
to use the 'svn move' command instead of the standard rename functionality.
It should also intercepts directory renames.
And file or directory copies. And moves.


It would clearly be very nice to be able to do all this in VS and have SVN
keeping tracker of everything, but that could be a little tricky :)
(the alternative being to either do everything manually via TortoiseSVN, or
to give up on the traceability of renames, copies and moves)

Lionel


0
Comment actions Permalink

Lionel Guilhou wrote:

"Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in message
news:c8a894d913036c8c81a4e9f559aa2@news.intellij.net...

>> Hello Carsten,
>>
>> yes, that's possible. But the problem I see is that the respecive event is
>> raised after the file
>> has been renamed, while for source control integration you most likely

need

>> to get a notification
>> when a file is about to be renamed.


It would actually have to completely take over the rename operation in order
to use the 'svn move' command instead of the standard rename functionality.
It should also intercepts directory renames.
And file or directory copies. And moves.


It would clearly be very nice to be able to do all this in VS and have SVN
keeping tracker of everything, but that could be a little tricky :)
(the alternative being to either do everything manually via TortoiseSVN, or
to give up on the traceability of renames, copies and moves)


SVN integration will be great but I think this should be a plugin instead of
a core function. If someone create a plugin for SVN then it will be the
tipping point for us to switch over from CVS.

0
Comment actions Permalink


Actually, doing things manually with TortoiseSVN makes file operations a
two step procedure: First create the file in VS, then add it to
Subversion with Tortoise. Or delete it in Tortoise, then exclude it from
the VS project. The rename process needs even three steps: Exclude the
file from the VS project, rename it in Tortoise and include the renamed
file again in the project. The worst thing is that after renaming a
class with Resharper, I have to cancel Resharper's question if it should
rename the file as well to match the new class name...

I have worked for quite a while this way. One just has to be considerate
not to use the convenient built-in functions in the solution explorer. A
Subversion plug-in would be very welcome.


Lionel Guilhou schrieb:

"Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in message
news:c8a894d913036c8c81a4e9f559aa2@news.intellij.net...

>> Hello Carsten,
>>
>> yes, that's possible. But the problem I see is that the respecive event is
>> raised after the file
>> has been renamed, while for source control integration you most likely

need

>> to get a notification
>> when a file is about to be renamed.


It would actually have to completely take over the rename operation in order
to use the 'svn move' command instead of the standard rename functionality.
It should also intercepts directory renames.
And file or directory copies. And moves.


It would clearly be very nice to be able to do all this in VS and have SVN
keeping tracker of everything, but that could be a little tricky :)
(the alternative being to either do everything manually via TortoiseSVN, or
to give up on the traceability of renames, copies and moves)

Lionel

(the alternative being to either do everything manually via
TortoiseSVN,

0
Comment actions Permalink

+1 for Resharper (or VS2005) plugin.

0
Comment actions Permalink

csUnit is cuurently supported. but AFAIK this is a dead project...

mbUnit willbe supported in 2.X


csUnit 2.x is out.. Check out the web site


0
Comment actions Permalink

The main problem is that refactoring (in particular renaming of files)
is a major problem when files are under source control, and the two
plugins are unable to cooperate about the changes.


Have you used the latest ankh build? As far as I can see, Arild has fixed
the rename issue - the 'rename' has been removed from the ankh submenu...


0
Comment actions Permalink

Hello Amir,

I tried using it a couple of weeks ago. Ankh rename is still incompatible
with Resharper. To see this try renaming any class in your project. You will
get a notificiation that the file is changed somewhere outside and if you
agree to reload it, you lose all your changes.

Moreover, second rename to an already renamed file is not supported (this
is likely to be an issue in SVN WC API itself).

Regrads,
Maxim


0
Comment actions Permalink

I see. Thank you.
Though support of FW2.0 is still in beta stage

--
Eugene Pasynkov
Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
"Amir Kolsky" <amir@xpandsoft.com> wrote in message
news:1447920b86f68c81a4799b0e764@news.jetbrains.com...
>> csUnit is cuurently supported. but AFAIK this is a dead project...
>>
>> mbUnit willbe supported in 2.X
>>
>

csUnit 2.x is out.. Check out the web site

>



0
Comment actions Permalink

+1 for SVN integration

This might actually even help some people to choose for your upcomming TeamWare/TeamServer
in stead of the costly Team Foundation Server: good IDE integration for
a decent free VCS system like SVN and a nice build environment with support
for continuous integration.


0
Comment actions Permalink

Hi Dmitry,

could you please elaborate on other problems (besides renaming of files)
you see when using ReSharper and AnkhSVN together? Thanks.


On the top of my head I can "only" think of these issues:

o AnkhSVN breaks VS 2005 if MS WFW (workflow foundation) is installed.
o Moving files and directories is very cumbersome (and cannot be done
using Ankh), as others have reported here.
o Background changes are not picked up by Ankh (e.g. when you reformat a
folder using R#).
o Ankh itself is not yet mature or stable, and having a commercial
alternative would be a big plus.

That said, I can think of a lot of synergies between R# and a source
control extension - such as:

o Automatic reformatting of code on check-in and -out (in using
repository rules, out using personal rules).
o Check-in policies (unit test code coverage, VS warnings, etc.).

These only seem like realistic options for a tool like R# (too much
information needs to be shared for it to work with multiple separate
addins).

Yours,
Morten

0
Comment actions Permalink

Have you all tried the PushOk SVN plugin? http://www.pushok.com

But only bother with the 1.3 version (which is in final release candidate
stage - I think they're releasing final version early next week but RC4 is
very stable now).

Our team has been using their plugin for quite a while now (12+ months).
The latest version just about addresses everything you need. Renames seem
to be reasonably handled in VS2005 (mainly because VS2005 has better support
for this itself - probably because of team services - For an SCC plugin,
VS2003 did not provide any hook for the rename or delete functions so it
was not possible to handle it cleanly AFAIK).

The plugin works as a standard SCC provider so will work with any tool that
uses SCC. We used it with VS2003 and now with VS2005. Also because of their
RWMon utility, you can also use Tortoise for some operations if you want
and it will maintain the Read Only flag on the file appropriately for VS
(which is very important for VS to provide its integrated source control
operations).

And its only USD$24.

>> (the alternative being to either do everything manually via
>> TortoiseSVN,
>>

Actually, doing things manually with TortoiseSVN makes file operations
a two step procedure: First create the file in VS, then add it to
Subversion with Tortoise. Or delete it in Tortoise, then exclude it
from the VS project. The rename process needs even three steps:
Exclude the file from the VS project, rename it in Tortoise and
include the renamed file again in the project. The worst thing is that
after renaming a class with Resharper, I have to cancel Resharper's
question if it should rename the file as well to match the new class
name...

I have worked for quite a while this way. One just has to be
considerate not to use the convenient built-in functions in the
solution explorer. A Subversion plug-in would be very welcome.

Lionel Guilhou schrieb:

>> "Dmitry Shaporenkov (JetBrains)" <dsha@jetbrains.com> wrote in
>> message news:c8a894d913036c8c81a4e9f559aa2@news.intellij.net...
>>
>>> Hello Carsten,
>>>
>>> yes, that's possible. But the problem I see is that the respecive
>>> event is
>>> raised after the file
>>> has been renamed, while for source control integration you most
>>> likely
>> need
>>
>>> to get a notification
>>> when a file is about to be renamed.
>> It would actually have to completely take over the rename operation
>> in order
>> to use the 'svn move' command instead of the standard rename
>> functionality.
>> It should also intercepts directory renames.
>> And file or directory copies. And moves.
>> It would clearly be very nice to be able to do all this in VS and
>> have SVN
>> keeping tracker of everything, but that could be a little tricky :)
>> (the alternative being to either do everything manually via
>> TortoiseSVN, or
>> to give up on the traceability of renames, copies and moves)
>> Lionel
>>


0
Comment actions Permalink

I'm all ears for a SVN plugin. Tried PushOK a while back, but it didn't work out. I think it was because it immediately committed the renamed files to the repository.

0
Comment actions Permalink

+1 for an JetBrains developed SVN plugin or addin. I use R#, Ankh, and Tortoise and I can usually manage well enough, but I too have been bitten by the renaming issue. An R# aware SVN client would be fantastic and you may be able to leverage Tortoise to some extent.

One of the things I like about Ankh is the ability to use an external diff/merge tool. I setup Ankh to use the Tortoise diff/merge which is very nice IMO. I don't see why a JetBrains developed SVN client couldn't do the same, at least to get off the ground.

I'd pay for a nice R# aware SVN client from JetBrains.

0
Comment actions Permalink

Hello,

An R# aware SVN client would be
fantastic and you may be able to leverage Tortoise to some extent.


In which way should it be R#-aware? I mean, what are the special actions
R# has to tell it about?


Serge Baltic
Omea & R# Developer
JetBrains, Inc — http://www.jetbrains.com
“Develop with pleasure!”


0
Comment actions Permalink

I use VisualSVN (http://visualsvn.com/), described as "a mashup between Visual
Studio and TortoiseSVN". It does the trick and I have no major complaints.
Not even performance. It performs better than AnkhSvn did a while back, though
I haven't tried AnkhSvn in quite some time.


0
Comment actions Permalink

Hello,

I use VisualSVN (http://visualsvn.com/), described as "a mashup
between Visual Studio and TortoiseSVN". It does the trick and I have



Unfortunately, it wouldn't integrate into Visual Studio properly.


Serge Baltic
Omea & R# Developer
JetBrains, Inc — http://www.jetbrains.com
“Develop with pleasure!”


0
Comment actions Permalink

Unfortunately, it wouldn't integrate into Visual Studio properly.


Um, what do you mean by that? Are you saying you installed VisualSVN and
it didn't work for you? I haven't noticed any incompatibilities between VS.NET
2005 SP1, R# 2.5, and VisualSvn.


0

Please sign in to leave a comment.