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<akjohnson78@xxxxxxxxx> 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<jiangzuoyan@xxxxxxxxx> wrote: >> 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<marcnarc@xxxxxxxxxxx> wrote: >>> 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: >>>> 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@xxxxxxxxxxxxxxx >>>> 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@xxxxxxxxxxxxxxx >> 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html