Thread (1 message) 1 message, 1 author, 2016-06-15

Re: how to fetch a new svn branch after clone?

From: Changsheng Jiang <hidden>
Date: 2016-06-15 22:47:04

Thank Allen.

I deleted some branches in local git repository, since it's no need to
track every one's branch.

And after that, ''git svn fetch'' report error like this:

error: invalid object a0eb1d6f18d20c0b9f30062cd981e9b668aac75f
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

Is it wrong to delete some svn branches in git by "git branch -r -d branch_name"

                                                      Changsheng Jiang



On Fri, Jul 17, 2009 at 10:18, Allen Johnson[off-list ref] wrote:
This setup works for me:

# create branch directly in svn
svn copy svn://hostname/project/trunk
svn://hostname/project/branches/test -m "test"

# update your local git repository
git svn fetch

# verify you have the branch by listing all remote branches
git branch -r

# you should see "test" in the list, now checkout that branch and do some work
git checkout -b local-test test

# perform some commits on that branch then sync with svn
git commit ...
git svn rebase
git svn dcommit

Hope that works for you.

Allen

On Thu, Jul 16, 2009 at 10:00 PM, Changsheng Jiang[off-list ref] wrote:
quoted
Thank Marc.

You are right, it should be the latter case with url
http://www.example.com/project/branches/test

But "git svn clone" has already added these lines to .git/config

[svn-remote "svn"]
       url = https://xxx.xxxx.com/svn/xxx
       fetch = trunk:refs/remotes/trunk
       branches = branches/*:refs/remotes/*
       tags = tags/*:refs/remotes/tags/*

And it still can not fetch new branch.

                                                     Changsheng Jiang

On Fri, Jul 17, 2009 at 04:26, Marc Branchaud[off-list ref] wrote:
quoted
The latest 1.6.4-rc1 contains patches to git-svn for it to support more than one branch URL in an svn repository.

However, before I describe that, can you confirm whether your new branch is in fact named

       http://svn.example.com/project/test

or is it really

       http://svn.example.com/project/test/<branchname>

Because if it's the former then I'm not sure if git-svn can handle your new branch.  The problem is that even though the branch is named 'test' it's a sibling to the 'branches' 'tags' and 'trunk' paths in the repository.  For git-svn to pick up branches, you point it at the path *containing* the branch names.  In the former case, to pick up project/test as the 'test' branch you'd have to point git-svn at the project directory, and that would cause it to also pick up project/tags, project/branches, and project/trunk as other branches (named 'tags', 'branches' and 'trunk').

However, in the latter (test/<branchname>) case, with 1.6.4, I *think* git-svn will pick up the new branches under test if you add a new 'branches' line to the svn-remote's section in your .git/config file.  Something like

       branches = test/*:refs/remotes/*

might let you see the new branches.  The reason I can't be more certain is that if you've done a 'git svn fetch' since the branch was created then git-svn might not pick up the branch-creation commits later.  Unfortunately I don't know git-svn well enough to say for certain.

               M.


Changsheng Jiang wrote:
quoted
Hi list,

I know how to clone a svn repository with all branches and tags at the
initial step, but I find no answers of how to fetch a new svn branch
after clone.

For example, this

git svn clone http://svn.example.com/project -T trunk -b branches -t tags

will clone all branches. but that clone, the svn repository has a new
branch test with url http://svn.example.com/project/test, how to clone
it as the initial step?

Thanks.

                                                     Changsheng Jiang
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help