<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>YouTrack - Comments to SGT-441</title>
<link>http://issues.tmatesoft.com/_rss/issueComments?issueId=SGT-441</link>
<description>Comments to SGT-441</description>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3844</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
12 months ago (25 Apr 2012 18:12)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3844">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">Since r1307 of trunk we&#39;ve introduce losless processing of svn branches and tags. This modification fixes the failure described in this issue.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 25 Apr 2012 16:12:23 UT</pubDate>
</item>
<item>
<title>Jean Helou (Jean.Helou) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3795</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Jean Helou (Jean.Helou)</strong>
<br/>
13 months ago (27 Mar 2012 22:11)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3795">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">I guess it is but it is unlikely as I was testing subgit sync, I don&#39;t remember uninstalling before deleting the shelves but it&#39;s been a few days. <br/>As far as I remember I pushed from git then, svn updated on the other side, then visually checked the svn repo. I tried to get some info on what shelves where then I removed the inner folder then the shelve root (which is why there are 2 commits) and didn&#39;t get any errors. I noticed the problem after cloning fresh starting to work on it and not getting one of the modifications from a co-worker ... that&#39;s when I saw the sync error zip file.</div>
</div>
</div>

]]></description>
<pubDate>Tue, 27 Mar 2012 20:11:59 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3794</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (27 Mar 2012 21:59)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3794">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">From the debug log you&#39;ve provided it seems Subversion hooks were not installed at the Subversion repository. As result shelves deletion was not blocked by svn pre-commit hook, after that SubGit failed to handle missing shelves directory. Could that be possible?</div>
</div>
</div>

]]></description>
<pubDate>Tue, 27 Mar 2012 19:59:09 UT</pubDate>
</item>
<item>
<title>Jean Helou (Jean.Helou) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3785</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Jean Helou (Jean.Helou)</strong>
<br/>
13 months ago (21 Mar 2012 21:54)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3785">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">I should rename and requalify this issue as what we discussed is mostly the feature switch I requested. <br/>I will open another bug somewhere since the repo sync was lost when I deleted the shelve and the shelves root from svn when I shouldn&#39;t have been able to.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 19:54:56 UT</pubDate>
</item>
<item>
<title>Jean Helou (Jean.Helou) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3784</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Jean Helou (Jean.Helou)</strong>
<br/>
13 months ago (21 Mar 2012 21:52)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3784">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">On the history thing : yeah I mixed things up with git merge &ndash;squash</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 19:52:25 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3783</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 21:51)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3783">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">Only if the ref created is mapped in the svn repo, and then yes it makes sense to translate the corresponding commits, but not before that ...</div><br/>Yes, that makes sense. I put some random thoughts on every option there.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 19:51:40 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3782</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 21:45)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3782">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">Isn&#39;t this is exactly what happens in git history ... if you only consider the branch which received the merge you will only see merge branch &#39;whatever&#39; and not the commit history, unless you did a rebase ...</div><br/><br/>I doubt that.<br/><br/>$ git log master<br/>commit 27fcd3db59b0fbeea27bb25fd39a81cc83111b21<br/>Merge: ae5171a c498aab<br/>    Merge branch &#39;foo&#39; into &#39;master&#39;<br/><br/>commit ae5171a6e2fb5ce358c48ea368f27d7e61624783<br/>    Commit on master branch.<br/><br/>commit c498aab18c7315b445417304bb99b51d3e410274<br/>    Commit on foo branch.<br/><br/>commit bc65b202d094a3bf111fb076c55e75f7e2e7af95<br/>    initial</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 19:45:11 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3781</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 21:06)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3781">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">Be able to use the full git power to create branches merge them and share them with some other advanced users, while keeping it completly transparent for the svn users. </div><br/>I got your point, thank you.<br/><br/>The use case you&#39;re describing is definitely interesting. But there are another not less important scenarios we have to think about:<br/><br/>Just imagine you&#39;re translating the history of 10 000 git commits into Subversion. The first one is a merge commit, the only reference available refers to this commit. And, yes, this is something one can find in the wild github jungles.<br/><br/>So, you have to decide which part of the history won&#39;t be ever available to any svn user. That means, say, 5 000 commits of history will disappear completely from Subversion. And what if soon someone adds a tag on the commit you just dropped?<br/><br/>As I already mentioned, in our team we discussed the behavior you&#39;re describing. At the end of the day we found that using additional ^/shelves/* namespace significantly decreases the possible risks for SubGit users. And all that by the price most svn users will never notice. <br/><br/>I mean, really, for an average Subversion user the difference between the current behavior and your suggestion is just a single line in svn:mergeinfo property one gets on svn update.<br/><br/>And I&#39;m not saying we will never implement what you&#39;ve suggested. Probably, we will. But it&#39;s definitely not for SubGit 1.0. We need to gather more feedback, understand which edge cases we have to consider, etc.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 19:06:54 UT</pubDate>
</item>
<item>
<title>Jean Helou (Jean.Helou) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3779</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Jean Helou (Jean.Helou)</strong>
<br/>
13 months ago (21 Mar 2012 19:48)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3779">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">Here is what I want to do : <br/>Be able to use the full git power to create branches merge them and share them with some other advanced users, while keeping it completly transparent for the svn users. <br/><br/>That is why I configured my namespace so that branches from svn are a subset of git branches (see <a href="http://issues.tmatesoft.com/issue/SGT-436" title="Improve subgit documentation on ref matching">SGT-436</a>). I want to be able to create branches (feature branches most likely) in git, push them in the central repository to be able to share them easily with other developers and NOT have them appear in SVN at all, then merge them in master or in one of the svn branch and push that to svn. On the svn side I would like it to appear as a normal commit, possibly with a weird message, but I don&#39;t want to replicate the full branch<br/><br/>If I want the feature branch history, either I branch it off to the svn namespace and push it on the server where it will be published in svn, or I rebase it onto master and push that. In the rebase case, I still don&#39;t want the git feature branch to be pushed to svn.<br/><br/><br/><br/>I am not sure the regex pre commit hook is a solution actually, and if you are able to determine which branch to shelve, you are also able to determine which history to drop : the history for the branch you would have shleved, the history for the git ref which does not exist in svn. <br/><br/><strong>edit</strong><br/>After pondering this some more:<br/><br/><div class="wiki quote">2. If SubGit fails to determine a branch for one of parents of a merge commit, throw away the history of this parent.<br/><br/> It&#39;s really hard to understand, what branch to throw away. User may wonder how that comes that they did a bunch of commits but in Subversion history they created has squashed into a single revision.</div><br/><br/>Isn&#39;t this is exactly what happens in git history ... if you only consider the branch which received the merge you will only see merge branch &#39;whatever&#39; and not the commit history, unless you did a rebase ...<br/><br/><div class="wiki quote">If SubGit throw away a certain parent and its subhistory, and then someone creates a tag or a new branch from some  &gt;commit of this subhistory, we have to translate corresponding commits.</div><br/><br/>Only if the ref created is mapped in the svn repo, and then yes it makes sense to translate the corresponding commits, but not before that ...</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 17:48:43 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3778</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 19:19)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3778">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">Will you consider a conf switch to disable shelves entirely ?<br/>I guess i could be extremely careful with my git usage but i would much prefer having sugit block any shelve creating attempt :( event at the cost of having to clone my local repo again and manually recover my changes.</div><br/><br/>I doubt we&#39;ll do that in near future. But if at some moment we will decide to do that, we&#39;ll stick the option 2 from my previous comment:<br/><div class="wiki quote">If SubGit fails to determine a branch for one of parents of a merge commit, throw away the history of this parent.</div><br/><br/>May I ask you what exactly disturbs you? Having shelves directory in repository root or having shelves in log output?<br/><br/>We have plans to delete shelves directory every time it&#39;s empty. This way, most of the time repository root won&#39;t have this directory, it will present only for those revisions when one of shelves actually was added by SubGit.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 17:19:48 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3777</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 19:13)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3777">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">As a quick and dirty workaround for the shelves problem you can add a special hook, which traverses the pushed history and detect commit messages typical for those merge commits which lead to shelves creation.<br/><br/>Here is the pattern we use to detect such merge commits:<br/>merge (remote-tracking )?branch [&#39;&quot;]?({branch}/)*({branch})[&#39;&quot;]? of .+</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 17:13:38 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3776</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 19:06)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3776">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">I would prefer a message telling me that my git repo is corrupted and I have to clone again and/or a way for subgit to silently ignore the merge source when commiting to svn and simply apply the patch as if it were a normal commit. Could this happen ?</div><br/><br/>AFAIU, you suggest the following:<br/><br/>1. In case some user pushes a piece of Git history with shelves to be created in svn, we reject such push operation and asks user to linearize the history.<br/><br/><ul class="wiki-list0"><li> The history may be extremely complex, so linearizing such a history may become a torture.<br/><br/></li><li> Currently SubGit translates commits in the background. In order to implement shelves check we have to block push operation for a while until we understand whether the history is fine or not.</li></ul><br/>2. If SubGit fails to determine a branch for one of parents of a merge commit, throw away the history of this parent.<br/><br/><ul class="wiki-list0"><li> It&#39;s really hard to understand, what branch to throw away. User may wonder how that comes that they did a bunch of commits but in Subversion history they created has squashed into a single revision.<br/><br/></li><li> If SubGit throw away a certain parent and its subhistory, and then someone creates a tag or a new branch from some commit of this subhistory, we have to translate corresponding commits.</li></ul><br/>Formerly we had discussion on these issues and decided that the shelves approach has much more benefits comparing to its alternatives. So, we decided to hold this way. Sure, we understand that a special branches namespace may confuse some users, but we believe that proper usage of rebase instead of merge fix the problem in general.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 17:06:02 UT</pubDate>
</item>
<item>
<title>Jean Helou (Jean.Helou) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3775</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Jean Helou (Jean.Helou)</strong>
<br/>
13 months ago (21 Mar 2012 18:55)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3775">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">Oups, somehow wasn&#39;t logged on for the last comment</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 16:55:42 UT</pubDate>
</item>
<item>
<title>guest (guest) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3774</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>guest (guest)</strong>
<br/>
13 months ago (21 Mar 2012 18:52)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3774">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">Hmmm ok. <br/>Will you consider a conf switch to disable shelves entirely ?<br/>I guess i could be extremely careful with my git usage but i would much prefer having sugit block any shelve creating attempt :( event at the cost of having to clone my local repo again and manually recover my changes.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 16:52:48 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3773</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 18:47)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3773">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">well, subgit install works just fine with my <br/>shelves = shelves/*<br/>apping, most likely it will explode in a bad way if it ever tries to actually create a shelve.</div><br/><br/>I&#39;m sorry, I misunderstood that. &quot;shelves = shelves/*&quot; is a just a shortcut for &quot;shelves = shelves/*:refs/shelves/*&quot;, so technically you&#39;ll get the same behavior with such configuration.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 16:47:16 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3770</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 18:22)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3770">reply</a>
</div>
<div class="comment-body">
<div class="wiki text"><div class="wiki quote">I have since deleted the git repo again, regenerated it with subgit install and recloned it to avoid the issue. <br/>I have also disabled shelves mapping by using <br/>shelves = shelves/*<br/>As the shelves configuration.</div><br/><br/>&#39;subgit install&#39; must exit with error if you have no git.*.shelves config options.<br/><br/>As I described in my previous comment:<br/><br/><ul class="wiki-list0"><li> if you convert svn revisions into git commits, you will never get shelves in your history<br/></li><li> if you convert git commits into svn revisions and always use &#39;git pull &ndash;rebase&#39; to keep the history linear, you will never get any shelves in svn.<br/></li><li> if you convert git commits into svn revisions and always use default merge messages like &quot;Merge master into foo&quot;, SubGit will understand what is master and what is foo, it won&#39;t create any shelves and send commits to ^/trunk and ^/branches/foo.</li></ul><br/>SubGit creates shelves only when it fails to find a good name for some branch in Git.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 16:22:22 UT</pubDate>
</item>
<item>
<title>Semyon Vadishev (semen.vadishev) commented SGT-441: Deleting the shelves path in svn makes the sync fail </title>
<link>http://issues.tmatesoft.com/issue/SGT-441#comment=60-3769</link>
<description><![CDATA[
<div class="comment">
<div class="comment-head">
<strong>Semyon Vadishev (semen.vadishev)</strong>
<br/>
13 months ago (21 Mar 2012 18:15)
<br/>
<a href="http://issues.tmatesoft.com/issue/SGT-441#comment=60-3769">reply</a>
</div>
<div class="comment-body">
<div class="wiki text">Here is the possible explanation of what happened, correct me please if I missed something:<br/><br/><div class="wiki quote">I did a first subgit install of an svn repo</div><br/><br/>At this moment you have:<br/><br/>REMOTE_SVN_REPO — original svn repository<br/>REMOTE_GIT_REPO — git repository synchronized<br/>LOCAL_GIT_REPO — git repository you&#39;ve cloned from REMOTE_GIT_REPO.<br/><br/>Everything is up-to-date, i.e. every svn revision represents corresponding git commit and vice versa.<br/><br/><div class="wiki quote">because of some problems in my custom pre/post commit hooks, I lost sync between both repos.</div><br/><br/>You have some commits which present in LOCAL_GIT_REPO and REMOTE_GIT_REPO, but there are no corresponding revisions in REMOTE_SVN_REPO, since synchronization didn&#39;t start due to hooks misconfiguration.<br/><br/>Probably, you also have some revisions in REMOTE_SVN_REPO which are not yet synchronized with REMOTE_GIT_REPOSITORY, so they don&#39;t present in LOCAL_GIT_REPO.<br/><br/><div class="wiki quote">I subgit uninstalled the svn repo, deleted the git repo and subgit installed again and fixed my scripts</div><br/><br/>After that your REMOTE_GIT_REPO contains commits converted from those revisions committed into REMOTE_SVN_REPO after the very first &#39;subgit install&#39;.<br/>At this moment you have REMOTE_SVN_REPO and REMOTE_GIT_REPO up-to-date, but REMOTE_GIT_REPO and LOCAL_GIT_REPO are not up-to-date.<br/><br/><div class="wiki quote">I had a local clone of the previous repo, when I git pulled it did &quot;something&quot; I haven&#39;t identified yet but when I git pushed afterwards I got a message in my log with &quot;merge from master&quot; or something approaching and it created a shelf with my name in svn.</div><br/><br/>Your LOCAL_GIT_REPO contains those commits which are neither in REMOTE_GIT_REPO nor in REMOTE_SVN_REPO, at the same time REMOTE_GIT_REPO has some commits converted from those revisions committed after the very first install, and these commits are not in LOCAL_GIT_REPO. In git terms you have a diverged history.<br/><br/>When you run &#39;git pull&#39;, git created a merge commit with the &quot;merge from master&quot; message. This situation is typical when one uses &#39;git pull&#39; instead of &#39;git pull &ndash;rebase&#39;.<br/><br/>So, what SubGit sees: there is a merge commit referenced by &#39;master&#39; ref, it has two parents from REMOTE_GIT_REPO and LOCAL_GIT_REPO. SubGit has nothing to do but send first parent into ^/trunk, which correspondes to master branch in Git. The second parent goes into a artificial branch, or &quot;shelf&quot; as we call it, so you get this temporary branch ^/shelves/myshelf.<br/><br/>We introduced shelves exactly for this case — when we can say nothing about what branch these commits belongs to.<br/><br/><div class="wiki quote">I deleted the root/shelves/myshelf in tortoise svn, and it generated the attached sync error (it is attached as developpers only as it contains information on a private repository).</div><br/><br/>That&#39;s pretty strange, ^/shelves/mushelf exists only for those revisions when SubGit was translating the diverged history. SubGit always deletes all the shelves as soon as it converts the merge commit which joins the diverged commits.<br/><br/>From the log you&#39;ve provided I can say that translation was in progress, hence SubGit should not allow you to commit the branch deletion. Did this commit actually happen. Is there corresponding revision entry in &#39;svn log -v ^/&#39; output?<br/><br/>If I&#39;m right, the failure you hit is not related to the deleted shelf, but is something more generic.</div>
</div>
</div>

]]></description>
<pubDate>Wed, 21 Mar 2012 16:15:03 UT</pubDate>
</item>
</channel>
</rss>
