git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: I've been pushing to one branch from both git-svn and git

From
RCRicky Clarkson <ricky.clarkson@gmail.com>
Date
May 5, 2010, 09:09 UTC
Message-ID
<m2q7eeb06461005050209jee92b415v68d8918f13d3a406@mail.gmail.com>
In-Reply-To
<w2s32541b131005040934o339e3e79vf386427ed282ce64@mail.gmail.com>
Hi Avery,
Thanks.  I solved it a slightly different but hopefully equivalent way:

Create a new branch named master locally, and merge the changes from trunk into it (I don't think any merge was needed as it would be a copy of trunk). Push master. From the git svn repo, git push -f origin, then git pull in the local repo and git merge trunk (the current branch is master).

Ricky.
--
Ricky Clarkson
Java and Scala Programmer, AD Holdings
+44 1928 706373
Skype: ricky_clarkson
Google Talk: ricky.clarkson@gmail.com
Google Wave: ricky.clarkson@googlewave.com
On 4 May 2010 17:34, Avery Pennarun <apenwarr@gmail.com> wrote:
Show 43 quoted lines
> On Tue, May 4, 2010 at 7:43 AM, Ricky Clarkson <ricky.clarkson@gmail.com> wrote:
>> I have a git repository we'll call the git svn repo, in which I only
>> perform git svn fetch and git push bare.
>>
>> bare is a bare git repository, which I push to from a local
>> repository.  The mistake I've been making is to push to the branch
>> 'trunk' in bare, from my local repository.  The reason this is a
>> mistake is because git push bare from the git svn repo also pushes to
>> there.
>>
>> Today I've been forced to learn of my mistake, as I cannot push from
>> the git svn repo without possibly losing commits.  It turns out (which
>> is probably obvious to you all) that I should have been pushing to,
>> say, bare's 'master' branch instead of its trunk one.
>>
>> I don't intend to push back to svn from any of these repos, but I
>> would like to be able to continue pulling changes from svn at least
>> for the time being.  What should I do?
>
> If you don't intend to push back to svn, then life is relatively simple.
>
> First, on your PC where you've been making other commits, rename the
> trunk branch to master and push that:
>
>   git branch -m trunk master
>   git push bare master
>
> Then delete the 'trunk' branch on bare, and re-push it from the git svn repo:
>
>   git push bare :trunk
>   git push bare trunk
>
> And probably you'll go back to your PC and merge the latest trunk into
> your master:
>
>   git pull bare trunk
>     # resolve any conflicts
>   git push bare master
>
> Have fun,
>
> Avery
>
Previous: Avery Pennarun
Message 3 of 3 in “I've been pushing to one branch from both git-svn and git”
  1. Ricky ClarksonMay 4, 2010
  2. Avery PennarunMay 4, 2010
  3. Ricky ClarksonMay 5, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.