<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<!-- MHonArc v2.6.10 -->
	<channel>
		<title>subversive-dev</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/maillist.html</link>
		<description>subversive-dev</description>
		<language>en-us</language>
		<pubDate>Fri, 03 May 2013 16:50:50 GMT</pubDate>
		<lastBuildDate>Fri, 03 May 2013 16:50:50 GMT</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>MHonArc RSS 2.0 RCFile</generator>
		<managingEditor>webmaster@eclipse.org (Webmaster)</managingEditor>
		<webMaster>webmaster@eclipse.org (Webmaster)</webMaster>
		<image>
			<title>subversive-dev</title>
			<url>http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg</url>
			<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/maillist.html</link>
		</image>
 

	<item>
		<title>Re: [subversive-dev] Programmatically sharing a project and specifying credentials</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00244.html</link>
		<description> Hi Alexander, As mentioned earlier, sharing a project according to your instructions works fine. Now I have come across SVNFolderListener, which automatically (IOptionProvider.isAutomaticProjectShareEnabled()) shares projects the same way. Can you confirm...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; ">


<div style="direction: ltr;font-family: Courier New;color: #000000;font-size: 10pt;">
Hi Alexander,<br>
<br>
As mentioned earlier, sharing a project according to your instructions works fine. Now I have come across SVNFolderListener, which automatically (IOptionProvider.isAutomaticProjectShareEnabled()) shares projects the same way. Can you confirm that?<br>
<br>
However, I am not sure, under which circumstances this mechanism is triggered. SVNFolderListener is registered for IResourceChangeEvent.PRE_BUILD. Is there a reason why SVNFolderListener is getting registered for PRE_BUILD instead of POST_CHANGE?<br>
<br>
It seems like a PRE_BUILD event is broadcast whenever a project is opened or created (and SVNFolderListener then reacts only to creations). Can you confirm that? I have not yet found any useful documentation on when PRE_BUILD events are broadcast (BTW, our
 projects do not have any builders).<br>
<br>
I want to be able to decide whether I can switch from my own implementation to relying on SVNFolderListener to do the work for me.<br>
<br>
Thanks,<br>
Bi&#xC3;rn<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF850983"><font color="#000000" face="Tahoma" size="2"><b>From:</b> subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]<br>
<b>Sent:</b> 26 September 2011 18:22<br>
<b>To:</b> Developers mailing list<br>
<b>Subject:</b> Re: [subversive-dev] Programmatically sharing a project and specifying credentials<br>
</font><br>
</div>
<div></div>
<div>Hello Bi&#xC3;rn,<br>
<br>
First of all you should detect which repository location you could use in order to share the project (below is the part of AlreadyConnectedPage which is responsible for the doing):<br>
<br>
<small>String url = "">
for (int i = 0; i &lt; projects.length; i&#43;&#43;) {<br>
&nbsp;&nbsp;&nbsp; SVNChangeStatus info = SVNUtility.getSVNInfoForNotConnected(projects[i]);<br>
&nbsp;&nbsp;&nbsp; String tmp = SVNUtility.decodeURL(info.url);<br>
&nbsp;&nbsp;&nbsp; if (url == null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; else {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath = SVNUtility.createPathForSVNUrl(url);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath2 = SVNUtility.createPathForSVNUrl(tmp);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (tPath2.isPrefixOf(tPath)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (!tPath.isPrefixOf(tPath2)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; tPath = tPath.removeLastSegments(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; }<br>
}<br>
IRepositoryRoot []repositoryRoots = SVNUtility.findRoots(url, true); // here you will get all the acceptable repository locations<br>
</small><br>
<br>
<small>IRepositoryLocation location = repositoryRoots[0].getRepositoryLocation(); // you can take the first acceptable one, for example<br>
</small><br>
If there are no location then you should create it first. In order to do so you can use the url you got from the previous step:<br>
<br>
<small>AbstractActionOperation createOp =&nbsp; null;<br>
</small>if (<small>repositoryRoots.length == 0) {<br>
&nbsp;&nbsp;&nbsp; location = SVNRemoteStorage.instance().newRepositoryLocation();<br>
</small><small>......// fill the IRepositoryLocation instance here<br>
</small><small>&nbsp;&nbsp; createOp =&nbsp; new AddRepositoryLocationOperation(location);<br>
</small><small>}<br>
</small><br>
And in the end this is how you could share the projects that already contains Subversion metadata:<br>
<br>
<small>IProject []projects = ....;<br>
IRepositoryLocation location = ....;<br>
<br>
ReconnectProjectOperation mainOp = new ReconnectProjectOperation(projects, location); // reconnect operation itself<br>
<br>
CompositeOperation op = new CompositeOperation(mainOp.getId(), mainOp.getMessagesClass());<br>
<br>
op.add(new NotifyProjectStatesChangedOperation(mainOp.getProjects(), ProjectStatesChangedEvent.ST_PRE_SHARED)); // send required notifications<br>
</small>if (<small>createOp</small><small> != null) {<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(</small><small>createOp</small><small>);<br>
&nbsp;&nbsp;&nbsp; op.add(new SaveRepositoryLocationsOperation());<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp, new IActionOperation[] {</small><small>createOp</small><small>});<br>
</small><small>}<br>
else {<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp);<br>
</small><small>}<br>
</small><small>op.add(new RefreshResourcesOperation(mainOp, IResource.DEPTH_INFINITE, RefreshResourcesOperation.REFRESH_ALL)); // initialize SVN metadata cache loading, redraw for the workspace resources tree etc.<br>
op.add(new NotifyProjectStatesChangedOperation(mainOp.getProjects(), ProjectStatesChangedEvent.ST_POST_SHARED)); // send required notifications<br>
<br>
UIMonitorUtility.doTaskScheduledDefault(op);<br>
</small><br>
<br>
Best regards, <br>
Alexander Gurov.<br>
<br>
14.09.2011 18:45, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
<blockquote type="cite">
<pre>Hello

We want to programmatically enable the sharing of a project that already contains Subversion meta data (.svn). I have found the ShareProjectOperation and the ShareProjectWizard with the AlreadyConnectedPage. However, they contain much code and I am getting slightly lost.

Can someone give me instructions on how to achieve this?

Additionally, we want to provide the credentials (username and password) that Subversive should use when contacting the Subversion repository. Is it possible to specify the information when sharing the project? Or do we need to use an ISVNCredentialsPrompt through an IOptionProvider?

The point is that both operations should be done programmatically without user interaction.

Thanks in advance,
Bi&#xC3;rn
_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx" target="_blank">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev" target="_blank">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Fri, 03 Aug 2012 10:16:13 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00244.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xC3;rnstad, Bi&#xC3;rn)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] Programmatically sharing a project and specifying credentials</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00243.html</link>
		<description> Hello Bi&amp;ouml;rn, First of all, please check these bug reports, since they could be related to the situation you've described: * Using svn+ssh:// repositories with private key authentication causes subversive to popup ssh login dialog two times for every repos...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    <div class="moz-cite-prefix">Hello Bi&ouml;rn,<br>
      <br>
      First of all, please check these bug reports, since they could be
      related to the situation you've described:<br>
      <br>
      <font size="2">* Using svn+ssh:// repositories with private key
        authentication causes subversive to popup ssh login dialog two
        times for every repository operation. (bug 239871)<br>
        <a
href="https://mail.deiotariana.com/exchweb/bin/redir.asp?URL=""
          target="_blank">https://bugs.eclipse.org/bugs/show_bug.cgi?id=239871</a><br>
      </font><font size="2">* Refresh on location/root nodes in SVN
        Repositories View shows multiple credential dialogs (bug 385690)<br>
        <a
href="https://mail.deiotariana.com/exchweb/bin/redir.asp?URL=""
          target="_blank">https://bugs.eclipse.org/bugs/show_bug.cgi?id=385690</a><br>
        * Unchecked "Save password" repository location option shouldn't
        prevent user name from being saved (bug 385890)<br>
        <a
href="https://mail.deiotariana.com/exchweb/bin/redir.asp?URL=""
          target="_blank">https://bugs.eclipse.org/bugs/show_bug.cgi?id=385890</a></font><br>
      <br>
      All these are already fixed bugs and the corresponding fixes will
      be included into the early access build next week.<br>
      <br>
      Regarding how authentication information are stored - there could
      be multiple credential sets stored for the same repository
      location due to certain SVN feature (svn:externals, which may
      point to a different repository with different authentication
      information). All this should be managed automatically by
      Subversive itself and shouldn't require writing of your own
      credentials prompt dialog.<br>
      <br>
      Best regards,<br>
      Alexander.<br>
      <br>
      02.08.2012 18:01, Bi&ouml;rnstad, Bi&ouml;rn &#1087;&#1080;&#1096;&#1077;&#1090;:<br>
    </div>
    <blockquote
cite=""
      type="cite">
      
      
      <div style="direction: ltr;font-family: Courier New;color:
        #000000;font-size: 10pt;">
        Hi Alexander,<br>
        <br>
        We have followed your instructions and sharing the project
        works. However, lately we are having trouble with the
        credentials.<br>
        <br>
        On every start of our application, we are looking for a
        repository location that is usable for the project -- creating
        one if it does not exist -- and are setting the credentials on
        it. We even specify that the credentials should be saved. Then,
        if the project is not already shared, we share it using the
        repository location.<br>
        <br>
        However, as soon as the first svn operation is executed, we are
        prompted for credentials. We have found out that different
        repository locations are involved, although we would expect only
        one to exist.<br>
        <br>
        I tried implementing my own ISVNCredentialsPrompt and
        IOptionProvider, which solves the problem of the user being
        prompted, because I can provide the credentials without asking
        the user (he would not know what to enter). But that seems like
        a workaround to me.<br>
        <br>
        Can you explain how credentials are stored and how we can
        specify credentials in such a way that we are not prompted? That
        would save us from having to provide an ISVNCredentialsPrompt
        and would thus reduce complexity.<br>
        <br>
        Thanks,<br>
        Bi&ouml;rn<br>
        <br>
        <div style="font-family: Times New Roman; color: #000000;
          font-size: 16px">
          <hr tabindex="-1">
          <div style="direction: ltr;" id="divRpF179341"><font
              color="#000000" face="Tahoma" size="2"><b>From:</b>
              <a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a>
              [<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a>] on behalf of
              Alexander Gurov [<a class="moz-txt-link-abbreviated" href="mailto:alexander.gurov@xxxxxxxxxxxx">alexander.gurov@xxxxxxxxxxxx</a>]<br>
              <b>Sent:</b> 26 September 2011 18:22<br>
              <b>To:</b> Developers mailing list<br>
              <b>Subject:</b> Re: [subversive-dev] Programmatically
              sharing a project and specifying credentials<br>
            </font><br>
          </div>
          <div>Hello Bi&ouml;rn,<br>
            <br>
            First of all you should detect which repository location you
            could use in order to share the project (below is the part
            of AlreadyConnectedPage which is responsible for the doing):<br>
            <br>
            <small>String url = "">
              for (int i = 0; i &lt; projects.length; i++) {<br>
              &nbsp;&nbsp;&nbsp; SVNChangeStatus info =
              SVNUtility.getSVNInfoForNotConnected(projects[i]);<br>
              &nbsp;&nbsp;&nbsp; String tmp = SVNUtility.decodeURL(info.url);<br>
              &nbsp;&nbsp;&nbsp; if (url == null) {<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
              &nbsp;&nbsp;&nbsp; }<br>
              &nbsp;&nbsp;&nbsp; else {<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath = SVNUtility.createPathForSVNUrl(url);<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath2 =
              SVNUtility.createPathForSVNUrl(tmp);<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (tPath2.isPrefixOf(tPath)) {<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else {<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (!tPath.isPrefixOf(tPath2)) {<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; tPath = tPath.removeLastSegments(1);<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
              &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
              &nbsp;&nbsp;&nbsp; }<br>
              }<br>
              IRepositoryRoot []repositoryRoots =
              SVNUtility.findRoots(url, true); // here you will get all
              the acceptable repository locations<br>
            </small><br>
            <br>
            <small>IRepositoryLocation location =
              repositoryRoots[0].getRepositoryLocation(); // you can
              take the first acceptable one, for example<br>
            </small><br>
            If there are no location then you should create it first. In
            order to do so you can use the url you got from the previous
            step:<br>
            <br>
            <small>AbstractActionOperation createOp =&nbsp; null;<br>
            </small>if (<small>repositoryRoots.length == 0) {<br>
              &nbsp;&nbsp;&nbsp; location =
              SVNRemoteStorage.instance().newRepositoryLocation();<br>
            </small><small>......// fill the IRepositoryLocation
              instance here<br>
            </small><small>&nbsp;&nbsp; createOp =&nbsp; new
              AddRepositoryLocationOperation(location);<br>
            </small><small>}<br>
            </small><br>
            And in the end this is how you could share the projects that
            already contains Subversion metadata:<br>
            <br>
            <small>IProject []projects = ....;<br>
              IRepositoryLocation location = ....;<br>
              <br>
              ReconnectProjectOperation mainOp = new
              ReconnectProjectOperation(projects, location); //
              reconnect operation itself<br>
              <br>
              CompositeOperation op = new
              CompositeOperation(mainOp.getId(),
              mainOp.getMessagesClass());<br>
              <br>
              op.add(new
              NotifyProjectStatesChangedOperation(mainOp.getProjects(),
              ProjectStatesChangedEvent.ST_PRE_SHARED)); // send
              required notifications<br>
            </small>if (<small>createOp</small><small> != null) {<br>
            </small><small>&nbsp;&nbsp;&nbsp; op.add(</small><small>createOp</small><small>);<br>
              &nbsp;&nbsp;&nbsp; op.add(new SaveRepositoryLocationsOperation());<br>
            </small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp, new IActionOperation[] {</small><small>createOp</small><small>});<br>
            </small><small>}<br>
              else {<br>
            </small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp);<br>
            </small><small>}<br>
            </small><small>op.add(new RefreshResourcesOperation(mainOp,
              IResource.DEPTH_INFINITE,
              RefreshResourcesOperation.REFRESH_ALL)); // initialize SVN
              metadata cache loading, redraw for the workspace resources
              tree etc.<br>
              op.add(new
              NotifyProjectStatesChangedOperation(mainOp.getProjects(),
              ProjectStatesChangedEvent.ST_POST_SHARED)); // send
              required notifications<br>
              <br>
              UIMonitorUtility.doTaskScheduledDefault(op);<br>
            </small><br>
            <br>
            Best regards, <br>
            Alexander Gurov.<br>
            <br>
            14.09.2011 18:45, Bi&ouml;rnstad, Bi&ouml;rn &#1087;&#1080;&#1096;&#1077;&#1090;:
            <blockquote type="cite">
              <pre>Hello

We want to programmatically enable the sharing of a project that already contains Subversion meta data (.svn). I have found the ShareProjectOperation and the ShareProjectWizard with the AlreadyConnectedPage. However, they contain much code and I am getting slightly lost.

Can someone give me instructions on how to achieve this?

Additionally, we want to provide the credentials (username and password) that Subversive should use when contacting the Subversion repository. Is it possible to specify the information when sharing the project? Or do we need to use an ISVNCredentialsPrompt through an IOptionProvider?

The point is that both operations should be done programmatically without user interaction.

Thanks in advance,
Bi&ouml;rn
_______________________________________________
subversive-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx" target="_blank">subversive-dev@xxxxxxxxxxx</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev" target="_blank">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
            </blockquote>
            <br>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
    </blockquote>
    <br>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Thu, 02 Aug 2012 17:02:30 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00243.html</guid>
		<author>alexander.gurov@xxxxxxx (Alexander Gurov)</author>
	</item>
	<item>
		<title>Re: [subversive-dev] Programmatically sharing a project and specifying credentials</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00242.html</link>
		<description> Hi Alexander, We have followed your instructions and sharing the project works. However, lately we are having trouble with the credentials. On every start of our application, we are looking for a repository location that is usable for the project -- creat...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; ">


<div style="direction: ltr;font-family: Courier New;color: #000000;font-size: 10pt;">
Hi Alexander,<br>
<br>
We have followed your instructions and sharing the project works. However, lately we are having trouble with the credentials.<br>
<br>
On every start of our application, we are looking for a repository location that is usable for the project -- creating one if it does not exist -- and are setting the credentials on it. We even specify that the credentials should be saved. Then, if the project
 is not already shared, we share it using the repository location.<br>
<br>
However, as soon as the first svn operation is executed, we are prompted for credentials. We have found out that different repository locations are involved, although we would expect only one to exist.<br>
<br>
I tried implementing my own ISVNCredentialsPrompt and IOptionProvider, which solves the problem of the user being prompted, because I can provide the credentials without asking the user (he would not know what to enter). But that seems like a workaround to
 me.<br>
<br>
Can you explain how credentials are stored and how we can specify credentials in such a way that we are not prompted? That would save us from having to provide an ISVNCredentialsPrompt and would thus reduce complexity.<br>
<br>
Thanks,<br>
Bi&#xC3;rn<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF179341"><font color="#000000" face="Tahoma" size="2"><b>From:</b> subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]<br>
<b>Sent:</b> 26 September 2011 18:22<br>
<b>To:</b> Developers mailing list<br>
<b>Subject:</b> Re: [subversive-dev] Programmatically sharing a project and specifying credentials<br>
</font><br>
</div>
<div></div>
<div>Hello Bi&#xC3;rn,<br>
<br>
First of all you should detect which repository location you could use in order to share the project (below is the part of AlreadyConnectedPage which is responsible for the doing):<br>
<br>
<small>String url = "">
for (int i = 0; i &lt; projects.length; i&#43;&#43;) {<br>
&nbsp;&nbsp;&nbsp; SVNChangeStatus info = SVNUtility.getSVNInfoForNotConnected(projects[i]);<br>
&nbsp;&nbsp;&nbsp; String tmp = SVNUtility.decodeURL(info.url);<br>
&nbsp;&nbsp;&nbsp; if (url == null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; else {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath = SVNUtility.createPathForSVNUrl(url);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IPath tPath2 = SVNUtility.createPathForSVNUrl(tmp);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (tPath2.isPrefixOf(tPath)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (!tPath.isPrefixOf(tPath2)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; tPath = tPath.removeLastSegments(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url = "">
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; }<br>
}<br>
IRepositoryRoot []repositoryRoots = SVNUtility.findRoots(url, true); // here you will get all the acceptable repository locations<br>
</small><br>
<br>
<small>IRepositoryLocation location = repositoryRoots[0].getRepositoryLocation(); // you can take the first acceptable one, for example<br>
</small><br>
If there are no location then you should create it first. In order to do so you can use the url you got from the previous step:<br>
<br>
<small>AbstractActionOperation createOp =&nbsp; null;<br>
</small>if (<small>repositoryRoots.length == 0) {<br>
&nbsp;&nbsp;&nbsp; location = SVNRemoteStorage.instance().newRepositoryLocation();<br>
</small><small>......// fill the IRepositoryLocation instance here<br>
</small><small>&nbsp;&nbsp; createOp =&nbsp; new AddRepositoryLocationOperation(location);<br>
</small><small>}<br>
</small><br>
And in the end this is how you could share the projects that already contains Subversion metadata:<br>
<br>
<small>IProject []projects = ....;<br>
IRepositoryLocation location = ....;<br>
<br>
ReconnectProjectOperation mainOp = new ReconnectProjectOperation(projects, location); // reconnect operation itself<br>
<br>
CompositeOperation op = new CompositeOperation(mainOp.getId(), mainOp.getMessagesClass());<br>
<br>
op.add(new NotifyProjectStatesChangedOperation(mainOp.getProjects(), ProjectStatesChangedEvent.ST_PRE_SHARED)); // send required notifications<br>
</small>if (<small>createOp</small><small> != null) {<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(</small><small>createOp</small><small>);<br>
&nbsp;&nbsp;&nbsp; op.add(new SaveRepositoryLocationsOperation());<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp, new IActionOperation[] {</small><small>createOp</small><small>});<br>
</small><small>}<br>
else {<br>
</small><small>&nbsp;&nbsp;&nbsp; op.add(mainOp);<br>
</small><small>}<br>
</small><small>op.add(new RefreshResourcesOperation(mainOp, IResource.DEPTH_INFINITE, RefreshResourcesOperation.REFRESH_ALL)); // initialize SVN metadata cache loading, redraw for the workspace resources tree etc.<br>
op.add(new NotifyProjectStatesChangedOperation(mainOp.getProjects(), ProjectStatesChangedEvent.ST_POST_SHARED)); // send required notifications<br>
<br>
UIMonitorUtility.doTaskScheduledDefault(op);<br>
</small><br>
<br>
Best regards, <br>
Alexander Gurov.<br>
<br>
14.09.2011 18:45, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
<blockquote type="cite">
<pre>Hello

We want to programmatically enable the sharing of a project that already contains Subversion meta data (.svn). I have found the ShareProjectOperation and the ShareProjectWizard with the AlreadyConnectedPage. However, they contain much code and I am getting slightly lost.

Can someone give me instructions on how to achieve this?

Additionally, we want to provide the credentials (username and password) that Subversive should use when contacting the Subversion repository. Is it possible to specify the information when sharing the project? Or do we need to use an ISVNCredentialsPrompt through an IOptionProvider?

The point is that both operations should be done programmatically without user interaction.

Thanks in advance,
Bi&#xC3;rn
_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx" target="_blank">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev" target="_blank">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Thu, 02 Aug 2012 15:01:03 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00242.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xC3;rnstad, Bi&#xC3;rn)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00241.html</link>
		<description> Hello Bi&amp;ouml;rn, My answers are below. Best regards, Alexander. 27.07.2012 14:02, Bi&amp;ouml;rnstad, Bi&amp;ouml;rn &amp;#1087;&amp;#1080;&amp;#1096;&amp;#1077;&amp;#1090;: Thank you for detailed description. I've understood your point. Though, there is one moment that bothers me (actually it is what I tought is a misunderst...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    <div class="moz-cite-prefix">Hello Bi&ouml;rn,<br>
      <br>
      My answers are below.<br>
      <br>
      Best regards, <br>
      Alexander.<br>
      <br>
      27.07.2012 14:02, Bi&ouml;rnstad, Bi&ouml;rn &#1087;&#1080;&#1096;&#1077;&#1090;:<br>
    </div>
    <blockquote
cite=""
      type="cite">
      <pre wrap="">Hi Alexander,

I am not sure where the misunderstanding is, but let me state the problem in more detail. During an update, standard Subversion behaviour is to merge incoming changes into local files, which may contain local changes. This is only the case for text files, not for binary files. In our application, we are using text-based file formats to store our model objects. Thus, an automatic merge would normally take place on these files.

However, in our application, the user never sees the actual files; the user sees only the model objects that are persisted in the files. Therefore, automatic merging must be prevented at any price, because the user cannot verify the automatic merge. If at all, merging would have to take place on a model level, which we might implement in the future.

The behaviour must be the following: If a file has both local changes and changes in the repository, during an update, automatic merging must NOT take place. Instead, the user must be warned that the file could not be updated. The user must then resolve the conflict (move away the locally changed model object, or revert the changes) and retry the update.</pre>
    </blockquote>
    Thank you for detailed description. I've understood your point.
    Though, there is one moment that bothers me (actually it is what I
    tought is a misunderstanding): I've tried installing
    ConflictResolverCallback and then tried different cases of merging
    and the callback was called only when there were really some
    unresolvable conflicts. I.e. when there were mergable changes (like
    changes in the different lines, for example) they were processed
    automatically without calling the installed callback. I'm not sure
    how the ISVNMerger interface of the SVN Kit library will work in
    that case, but anyway - there is no such option as ISVNMerger in
    case of the native JavaHL library-based connector.
    <blockquote
cite=""
      type="cite">
      <pre wrap="">

One solution would be to mark all our files as binary, because binary files are never merged automatically. However, we would like to have a more elegant solution.
</pre>
    </blockquote>
    Regarding what I wrote earlier there might not be any more elegant
    solution if you're really want to prevent merging even
    non-conflicting changes. Of course I'll check once again just to be
    sure I'm not missing anything.<br>
    <blockquote
cite=""
      type="cite">
      <pre wrap="">
I have attached my ResourceMappingMerger for a start. It contains the core of what I want to accomplish (prevent merging, leave the conflict unresolved). Now I want this class to be called during ALL update operations, not just the one triggered from the synchronize view.</pre>
    </blockquote>
    Thank you for this sample. It seems there will be some work needed
    on my side before this code could be actuallly called during all the
    operations. I've made a bugzilla item for the task:<br>
    <a class="moz-txt-link-freetext" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=386183">https://bugs.eclipse.org/bugs/show_bug.cgi?id=386183</a><br>
    <blockquote
cite=""
      type="cite">
      <pre wrap="">

It will take me some more time to create a working plug-in that I can share. Let me know if I can provide you with some other concrete information in the mean time.

Thanks,
Bi&ouml;rn

________________________________________
From: <a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a> [<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a>] on behalf of Alexander Gurov [<a class="moz-txt-link-abbreviated" href="mailto:alexander.gurov@xxxxxxxxxxxx">alexander.gurov@xxxxxxxxxxxx</a>]
Sent: 27 July 2012 9:07
To: Developers mailing list
Subject: Re: [subversive-dev] How to prevent automatic merge

Hello Bi&ouml;rn,

It's my fault for misleading you, I've misunderstood your question.
There is the ConflictResolverCallback interface in both libraries, if
we're talking about merging unresolved conflicts only. This interface is
mapped to the ISVNConflictResolutionCallback in Subversive, but yet to
be used anywhere. There is some merge models support in Subversive, but
it seems to be working only when it is related to Synchronize View
contents, while Merge View and Team-&gt;Update/Switch actions seems to be
unaffected. I think there should be some code that should allow to
consult models about merge through ISVNConflictResolutionCallback calls.
I'll try asking the person who did implement a models support why it is
working like it is now and how it was supposed to be.

P.S.
Also, if it is not too hard for you and you can avoid revealing any
commercial information, could you please give me some short sample of
how it should look like in code on your side (so I can use it as a test
case to ensure merge support works like it should)?

Best regards,
Alexander.

26.07.2012 15:06, Bi&ouml;rnstad, Bi&ouml;rn &#1087;&#1080;&#1096;&#1077;&#1090;:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi Alexander,

I am a bit confused by your answer. I have done tests with SVNKit and the Eclipse team framework. When using SVNKit, I am able to take control over the merging process through the ISVNMerger interface. In Eclipse, I seem to be able to do the same through a IResourceMappingMerger. However, it seems that the merger is invoked only when executing "Update All" in the synchronize view (MergeAllOperation/ModelMergeOperation), not during a "normal" update.

Can you clear up my confusion? What are the missing bits in Subversive?

Thanks,
Bi&ouml;rn

________________________________________
From: <a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a> [<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx">subversive-dev-bounces@xxxxxxxxxxx</a>] on behalf of Alexander Gurov [<a class="moz-txt-link-abbreviated" href="mailto:alexander.gurov@xxxxxxxxxxxx">alexander.gurov@xxxxxxxxxxxx</a>]
Sent: Tuesday, July 17, 2012 21:37
To: Developers mailing list
Subject: Re: [subversive-dev] How to prevent automatic merge

Hello Bi&ouml;rn,

Unfortunately there is no way to interfere with the SVN client library
merging files on update/merge/switch (neither one of both libraries -
SVN Kit and JavaHL - provides such API) and this is why it is impossible
in Subversive as well,

Best regards,
Alexander.

17.07.2012 16:02, Bi&ouml;rnstad, Bi&ouml;rn &#1087;&#1080;&#1096;&#1077;&#1090;:
</pre>
        <blockquote type="cite">
          <pre wrap="">Hi,

What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.

I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.

Thanks,
Bi&ouml;rn</pre>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
        </blockquote>
      </blockquote>
    </blockquote>
    <br>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Sat, 28 Jul 2012 11:48:27 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00241.html</guid>
		<author>alexander.gurov@xxxxxxx (Alexander Gurov)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00240.html</link>
		<description>Hi Alexander, I am not sure where the misunderstanding is, but let me state the problem in more detail. During an update, standard Subversion behaviour is to merge incoming changes into local files, which may contain local changes. This is only the case fo...</description>
		<content:encoded><![CDATA[<pre>Hi Alexander,

I am not sure where the misunderstanding is, but let me state the problem in more detail. During an update, standard Subversion behaviour is to merge incoming changes into local files, which may contain local changes. This is only the case for text files, not for binary files. In our application, we are using text-based file formats to store our model objects. Thus, an automatic merge would normally take place on these files.

However, in our application, the user never sees the actual files; the user sees only the model objects that are persisted in the files. Therefore, automatic merging must be prevented at any price, because the user cannot verify the automatic merge. If at all, merging would have to take place on a model level, which we might implement in the future.

The behaviour must be the following: If a file has both local changes and changes in the repository, during an update, automatic merging must NOT take place. Instead, the user must be warned that the file could not be updated. The user must then resolve the conflict (move away the locally changed model object, or revert the changes) and retry the update.

One solution would be to mark all our files as binary, because binary files are never merged automatically. However, we would like to have a more elegant solution.

I have attached my ResourceMappingMerger for a start. It contains the core of what I want to accomplish (prevent merging, leave the conflict unresolved). Now I want this class to be called during ALL update operations, not just the one triggered from the synchronize view.

It will take me some more time to create a working plug-in that I can share. Let me know if I can provide you with some other concrete information in the mean time.

Thanks,
Bi&#xC3;rn

________________________________________
From: subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]
Sent: 27 July 2012 9:07
To: Developers mailing list
Subject: Re: [subversive-dev] How to prevent automatic merge

Hello Bi&#xC3;rn,

It's my fault for misleading you, I've misunderstood your question.
There is the ConflictResolverCallback interface in both libraries, if
we're talking about merging unresolved conflicts only. This interface is
mapped to the ISVNConflictResolutionCallback in Subversive, but yet to
be used anywhere. There is some merge models support in Subversive, but
it seems to be working only when it is related to Synchronize View
contents, while Merge View and Team-&gt;Update/Switch actions seems to be
unaffected. I think there should be some code that should allow to
consult models about merge through ISVNConflictResolutionCallback calls.
I'll try asking the person who did implement a models support why it is
working like it is now and how it was supposed to be.

P.S.
Also, if it is not too hard for you and you can avoid revealing any
commercial information, could you please give me some short sample of
how it should look like in code on your side (so I can use it as a test
case to ensure merge support works like it should)?

Best regards,
Alexander.

26.07.2012 15:06, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
&gt; Hi Alexander,
&gt;
&gt; I am a bit confused by your answer. I have done tests with SVNKit and the Eclipse team framework. When using SVNKit, I am able to take control over the merging process through the ISVNMerger interface. In Eclipse, I seem to be able to do the same through a IResourceMappingMerger. However, it seems that the merger is invoked only when executing &quot;Update All&quot; in the synchronize view (MergeAllOperation/ModelMergeOperation), not during a &quot;normal&quot; update.
&gt;
&gt; Can you clear up my confusion? What are the missing bits in Subversive?
&gt;
&gt; Thanks,
&gt; Bi&#xC3;rn
&gt;
&gt; ________________________________________
&gt; From: subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]
&gt; Sent: Tuesday, July 17, 2012 21:37
&gt; To: Developers mailing list
&gt; Subject: Re: [subversive-dev] How to prevent automatic merge
&gt;
&gt; Hello Bi&#xC3;rn,
&gt;
&gt; Unfortunately there is no way to interfere with the SVN client library
&gt; merging files on update/merge/switch (neither one of both libraries -
&gt; SVN Kit and JavaHL - provides such API) and this is why it is impossible
&gt; in Subversive as well,
&gt;
&gt; Best regards,
&gt; Alexander.
&gt;
&gt; 17.07.2012 16:02, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
&gt;&gt; Hi,
&gt;&gt;
&gt;&gt; What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.
&gt;&gt;
&gt;&gt; I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.
&gt;&gt;
&gt;&gt; Thanks,
&gt;&gt; Bi&#xC3;rn</pre><p><strong>Attachment:
<a href="binBjMg9Dd0cH.bin" ><tt>ExampleResourceMappingMerger.java</tt></a></strong><br>
<em>Description:</em> ExampleResourceMappingMerger.java</p>
]]></content:encoded>
		<pubDate>Fri, 27 Jul 2012 11:02:52 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00240.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xC3;rnstad, Bi&#xC3;rn)</author>
	</item>
	<item>
		<title>Re: [subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00239.html</link>
		<description>Hello Bi&amp;#xC3;rn, It's my fault for misleading you, I've misunderstood your question. There is the ConflictResolverCallback interface in both libraries, if we're talking about merging unresolved conflicts only. This interface is mapped to the ISVNConflictResolu...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hello Bi&#xC3;rn,</pre><br>
<tt>It's my fault for misleading you, I've misunderstood your question. 
There is the ConflictResolverCallback interface in both libraries, if 
we're talking about merging unresolved conflicts only. This interface is 
mapped to the ISVNConflictResolutionCallback in Subversive, but yet to 
be used anywhere. There is some merge models support in Subversive, but 
it seems to be working only when it is related to Synchronize View 
contents, while Merge View and Team-&gt;Update/Switch actions seems to be 
unaffected. I think there should be some code that should allow to 
consult models about merge through ISVNConflictResolutionCallback calls. 
I'll try asking the person who did implement a models support why it is 
working like it is now and how it was supposed to be.</tt><br>
<br>
<tt>P.S.<br>
Also, if it is not too hard for you and you can avoid revealing any 
commercial information, could you please give me some short sample of 
how it should look like in code on your side (so I can use it as a test 
case to ensure merge support works like it should)?</tt><br>
<br>
<pre style="margin: 0em;">Best regards,
Alexander.</pre><br>
<tt>26.07.2012 15:06, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Hi Alexander,</pre><br>
<pre style="margin: 0em;">I am a bit confused by your answer. I have done tests with SVNKit and the Eclipse team framework. When using SVNKit, I am able to take control over the merging process through the ISVNMerger interface. In Eclipse, I seem to be able to do the same through a IResourceMappingMerger. However, it seems that the merger is invoked only when executing &quot;Update All&quot; in the synchronize view (MergeAllOperation/ModelMergeOperation), not during a &quot;normal&quot; update.</pre><br>
<pre style="margin: 0em;">Can you clear up my confusion? What are the missing bits in Subversive?</pre><br>
<pre style="margin: 0em;">Thanks,
Bi&#xC3;rn</pre><br>
<pre style="margin: 0em;">________________________________________
From: subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]
Sent: Tuesday, July 17, 2012 21:37
To: Developers mailing list
Subject: Re: [subversive-dev] How to prevent automatic merge</pre><br>
<pre style="margin: 0em;">Hello Bi&#xC3;rn,</pre><br>
<pre style="margin: 0em;">Unfortunately there is no way to interfere with the SVN client library
merging files on update/merge/switch (neither one of both libraries -
SVN Kit and JavaHL - provides such API) and this is why it is impossible
in Subversive as well,</pre><br>
<pre style="margin: 0em;">Best regards,
Alexander.</pre><br>
<tt>17.07.2012 16:02, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Hi,</pre><br>
<pre style="margin: 0em;">What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.</pre><br>
<pre style="margin: 0em;">I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.</pre><br>
<pre style="margin: 0em;">Thanks,
Bi&#xC3;rn
</pre></blockquote><pre style="margin: 0em;">_______________________________________________
subversive-dev mailing list
subversive-dev@xxxxxxxxxxx
<a  href="https://dev.eclipse.org/mailman/listinfo/subversive-dev">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre></blockquote><pre style="margin: 0em;"><br></pre><br>
]]></content:encoded>
		<pubDate>Fri, 27 Jul 2012 07:07:31 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00239.html</guid>
		<author>alexander.gurov@xxxxxxx (Alexander Gurov)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00238.html</link>
		<description>Hi Alexander, I am a bit confused by your answer. I have done tests with SVNKit and the Eclipse team framework. When using SVNKit, I am able to take control over the merging process through the ISVNMerger interface. In Eclipse, I seem to be able to do the ...</description>
		<content:encoded><![CDATA[<pre>Hi Alexander,

I am a bit confused by your answer. I have done tests with SVNKit and the Eclipse team framework. When using SVNKit, I am able to take control over the merging process through the ISVNMerger interface. In Eclipse, I seem to be able to do the same through a IResourceMappingMerger. However, it seems that the merger is invoked only when executing &quot;Update All&quot; in the synchronize view (MergeAllOperation/ModelMergeOperation), not during a &quot;normal&quot; update.

Can you clear up my confusion? What are the missing bits in Subversive?

Thanks,
Bi&#xC3;rn

________________________________________
From: subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]
Sent: Tuesday, July 17, 2012 21:37
To: Developers mailing list
Subject: Re: [subversive-dev] How to prevent automatic merge

Hello Bi&#xC3;rn,

Unfortunately there is no way to interfere with the SVN client library
merging files on update/merge/switch (neither one of both libraries -
SVN Kit and JavaHL - provides such API) and this is why it is impossible
in Subversive as well,

Best regards,
Alexander.

17.07.2012 16:02, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
&gt; Hi,
&gt;
&gt; What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.
&gt;
&gt; I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.
&gt;
&gt; Thanks,
&gt; Bi&#xC3;rn
</pre>]]></content:encoded>
		<pubDate>Thu, 26 Jul 2012 12:06:19 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00238.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xC3;rnstad, Bi&#xC3;rn)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00237.html</link>
		<description>Hello Bi&amp;#xC3;rn, Unfortunately there is no way to interfere with the SVN client library merging files on update/merge/switch (neither one of both libraries - SVN Kit and JavaHL - provides such API) and this is why it is impossible in Subversive as well, Best r...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hello Bi&#xC3;rn,</pre><br>
<tt>Unfortunately there is no way to interfere with the SVN client library 
merging files on update/merge/switch (neither one of both libraries - 
SVN Kit and JavaHL - provides such API) and this is why it is impossible 
in Subversive as well,</tt><br>
<br>
<pre style="margin: 0em;">Best regards,
Alexander.</pre><br>
<tt>17.07.2012 16:02, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Hi,</pre><br>
<pre style="margin: 0em;">What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.</pre><br>
<pre style="margin: 0em;">I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.</pre><br>
<pre style="margin: 0em;">Thanks,
Bi&#xC3;rn
_______________________________________________
subversive-dev mailing list
subversive-dev@xxxxxxxxxxx
<a  href="https://dev.eclipse.org/mailman/listinfo/subversive-dev">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre></blockquote><pre style="margin: 0em;"><br></pre><br>
<br>
]]></content:encoded>
		<pubDate>Tue, 17 Jul 2012 19:37:12 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00237.html</guid>
		<author>alexander.gurov@xxxxxxx (Alexander Gurov)</author>
	</item>
	<item>
		<title>[subversive-dev] How to prevent automatic merge</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00236.html</link>
		<description>Hi, What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files. I have tried providing an IResourceMappingMerger and ...</description>
		<content:encoded><![CDATA[<pre>Hi,

What is the easiest way of preventing Subversive from automatically merging files? When the user executes an update operation, I do not want any automatic merges to take place, as with binary files.

I have tried providing an IResourceMappingMerger and an IStorageMerger, but it did not work for me.

Thanks,
Bi&#xF6;rn
</pre>]]></content:encoded>
		<pubDate>Tue, 17 Jul 2012 13:02:55 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00236.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xF6;rnstad, Bi&#xF6;rn)</author>
	</item>


	<item>
		<title>Re: [subversive-dev] Status of Logical Model Integration support</title>
		<link>http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00235.html</link>
		<description> Alexander, I have had a look at the Subversive code. It seems to me that logical model integration is just not implemented in these dialogs. They use a subclass of BasePaneParticipant, which is not model-aware (derived from AbstractSVNParticipant instead ...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; ">


<div style="direction: ltr;font-family: Courier New;color: #000000;font-size: 10pt;">
Alexander,<br>
<br>
I have had a look at the Subversive code. It seems to me that logical model integration is just not implemented in these dialogs. They use a subclass of BasePaneParticipant, which is not model-aware (derived from AbstractSVNParticipant instead of from AbstractSVNModelParticipant).
 Further, the participant is not refreshed by the dialog, which would be necessary to discover all the involved model objects (but that's a minor issue).<br>
<br>
Best regards,<br>
Bi&#xC3;rn<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF248424"><font color="#000000" face="Tahoma" size="2"><b>From:</b> subversive-dev-bounces@xxxxxxxxxxx [subversive-dev-bounces@xxxxxxxxxxx] on behalf of Alexander Gurov [alexander.gurov@xxxxxxxxxxxx]<br>
<b>Sent:</b> Wednesday, July 04, 2012 8:35<br>
<b>To:</b> Developers mailing list<br>
<b>Subject:</b> Re: [subversive-dev] Status of Logical Model Integration support<br>
</font><br>
</div>
<div></div>
<div>
<div class="moz-cite-prefix">Hello Bi&#xC3;rn,<br>
<br>
First of all - there are two modes for these dialogs:<br>
1) Table-based<br>
2) &quot;Synchronize view&quot;-based<br>
They're being controled by the option &quot;Window-&gt;Preferences-&gt;Team-&gt;SVN-&gt;Show selected resources in resouce changes pane&quot;.<br>
If there was model support - it could only be implemented for the second mode, since the first one does not provide required visual facilities.<br>
And now the second point: I checked the code - it seems like the resource selection panel's code is founded on the same base as the Synchronize View support, but it still does not show models. There are two reasons possible: something is not finished or the
 models are disabled for some reason.<br>
<br>
Regarding estimate - unfortunately I can't give it yet: since the code was made when I wasn't working on the project, I should spend a little more time to understand how it actually works and why it does not work as expected.<br>
<br>
Best regards,<br>
Alexander.<br>
<br>
29.06.2012 16:06, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:<br>
</div>
<blockquote type="cite">
<div style="direction:ltr; font-family:Courier New; color:#000000; font-size:10pt">
<span style="" lang="EN-US"></span>
<div>
<div style="font-family:Tahoma; font-size:13px"></div>
</div>
<div style="font-family:Times New Roman; color:#000000; font-size:16px">Dear Alexander,<br>
<br>
In the mean-time, we have started implementing a prototype for the Model side of the Logical Model Integration framework. The synchronization view now shows our model.<br>
<br>
However, the dialogs shown by Subversive actions like commit, revert or lock do not show any model objects. From the logging output of my classes, it seems that Subversive is not trying to show our model. For example, I would expect my ModelProvider to be consulted
 when trying to commit some resources.<br>
<br>
So, my question is: do the mentioned dialogs attempt to show model content? If yes, can you give me any hints on what I could be doing wrong? If no, can you estimate the effort of adding the corresponding functionality to Subversive?<br>
<br>
Thanks,<br>
Bi&#xC3;rn<br>
<br>
<hr tabindex="-1">
<div id="divRpF161052" style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>From:</b>
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx" target="_blank">
subversive-dev-bounces@xxxxxxxxxxx</a> [<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev-bounces@xxxxxxxxxxx" target="_blank">subversive-dev-bounces@xxxxxxxxxxx</a>] on behalf of Alexander Gurov [<a class="moz-txt-link-abbreviated" href="mailto:alexander.gurov@xxxxxxxxxxxx" target="_blank">alexander.gurov@xxxxxxxxxxxx</a>]<br>
<b>Sent:</b> Thursday, June 02, 2011 20:33<br>
<b>To:</b> Developers mailing list<br>
<b>Subject:</b> Re: [subversive-dev] Status of Logical Model Integration support<br>
</font><br>
</div>
<div>Hello Bi&#xC3;rn, <br>
<br>
There is a list of an partially unimplemented or implemented not in the best possible way features:<br>
<ol>
<li>Provide access to remote configurations using the Eclipse File System API in the
<em>org.eclipse.core.filesystem</em> plug-in and link this to workspace projects through the ProjectSetCapability
<code>(not all methods were implemented)</code><a href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/guide/team_model_repo.htm#EFS" target="_blank"><code><br>
</code></a></li><li>IChangeGroupingRequestor (probably is implemented not in the best way) </li></ol>
At first glance it is all I could find. Is there something else that prevents you from using Subversive as part of your product?<br>
<br>
Best regards, <br>
Alexander Gurov<br>
Subversive Team.<br>
<br>
01.06.2011 14:54, Bi&#xC3;rnstad, Bi&#xC3;rn &#xD0;&#xD0;&#xD1;&#xD0;&#xD1;:
<blockquote type="cite">
<div style="font-size:13px; color:rgb(0,0,0); direction:ltr; font-family:Courier New">
<p>Dear all,</p>
<p>&nbsp;</p>
<p>I would like to ask you what the status of Subversive's support for Logical Model Integration (LMI) is, in particular which of the steps in [1] have been completed for Subversive.</p>
<p>&nbsp;</p>
<p>The only information I could find on the topic was the Subversive New and Noteworthy for Galileo [2], which states that you have put much effort into supporting LMI. The corresponding bug even states that &quot;... almost all Team API is implemented&quot;. However,
 prototypes on our side did not manage to uncover the complete support of LMI.</p>
<p>&nbsp;</p>
<p>In our project, we want to integrate Subversive in our Eclipse product. A special requirement is that end-users will work exclusively with model objects and never see the corresponding workspace resources. Therefore, we would rely on a relatively complete
 support of LMI on the part of the Team provider. We are considering implementing missing Subversive features if necessary and contributing these back to the project.</p>
<p>&nbsp;</p>
<p><font face="courier new" size="2">Thanks</font></p>
<p><font face="courier new" size="2">Bi&#xC3;rn</font></p>
<p><br>
[1] <a href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/team_model_repo.htm" target="_blank">
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/team_model_repo.htm</a><br>
[2] <a href="http://wiki.eclipse.org/Subversive_New_and_Noteworthy_for_Galileo" target="_blank">
http://wiki.eclipse.org/Subversive_New_and_Noteworthy_for_Galileo</a></p>
</div>
<pre><fieldset class="mimeAttachmentHeader" target="_blank"></fieldset>
_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx" target="_blank">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev" target="_blank">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader" target="_blank"></fieldset> <br>
<pre>_______________________________________________
subversive-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:subversive-dev@xxxxxxxxxxx" target="_blank">subversive-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/subversive-dev" target="_blank">https://dev.eclipse.org/mailman/listinfo/subversive-dev</a>
</pre>
</blockquote>
<br>
<br>
</div>
</div>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Fri, 13 Jul 2012 13:11:06 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/subversive-dev/msg00235.html</guid>
		<author>Bioern.Bioernstad@xxxxxxx (Bi&#xC3;rnstad, Bi&#xC3;rn)</author>
	</item>

 
	</channel>
	</rss>
<!-- MHonArc v2.6.10 -->
