# [topgit] shared topic branch

4 messages from 2008-12-18 to 2009-01-30. Participants: Fabien Thomas, martin f krafft.
Thread: https://gitlist.dev/t/16786

## Fabien Thomas, 2008-12-18 20:02

Subject: [topgit] shared topic branch
Message-ID: <EFB70468-7900-4B22-925D-3FC5F05F951B@gmail.com>
URL: https://gitlist.dev/e/EFB70468-7900-4B22-925D-3FC5F05F951B%40gmail.com

```
Hi,

I'm testing topgit 0.5 in a shared env. (multiple user working on same  
patch).

After following the tutorial i end up with something like this:

$ git branch
   master
   topic/test1
* topic/test2
$ git branch -r
   origin/HEAD
   origin/master
   origin/svn_stable_7
   origin/svn_trunk
   origin/top-bases/topic/test1
   origin/top-bases/topic/test2
   origin/topic/test1
   origin/topic/test2

My problem is that when i want to push my local work i'm doing "git  
push" that will force update the remote branch.
The problem is that each time master is not up to date i will push my  
entire master or topic branch to the remote.

After looking at git config file it seems that this is something  
normal generated by "tg remote --populate origin":

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = ssh://git@xxx.com
	fetch = +refs/heads/*:refs/remotes/origin/*
	fetch = +refs/top-bases/*:refs/remotes/origin/top-bases/*
	push = +refs/top-bases/*:refs/top-bases/*
	push = +refs/heads/*:refs/heads/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[merge "ours"]
	name = \"always keep ours\" merge driver
	driver = touch %A
[topgit]
	remote = origin

What i'm doing wrong ?

Regards,
Fabien

```

## martin f krafft, 2009-01-26 12:00

Subject: Re: [topgit] shared topic branch
Message-ID: <20090126120049.GA9676@lapse.rw.madduck.net>
URL: https://gitlist.dev/e/20090126120049.GA9676%40lapse.rw.madduck.net
In-Reply-To: <EFB70468-7900-4B22-925D-3FC5F05F951B@gmail.com>

```
also sprach Fabien Thomas <thomas.fabien@gmail.com> [2008.12.18.2102 +0100]:
> I'm testing topgit 0.5 in a shared env. (multiple user working on same  
> patch).

Sorry for the late reply!

> My problem is that when i want to push my local work i'm doing
> "git  push" that will force update the remote branch. The problem
> is that each time master is not up to date i will push my  entire
> master or topic branch to the remote.

I do not understand what you mean. Could yo please try to give us
more detail? git push is intended to push all local changes to the
remote, so I don't understand what your problem is.

> [remote "origin"]
[...]
> 	push = +refs/top-bases/*:refs/top-bases/*
> 	push = +refs/heads/*:refs/heads/*

Those two lines ensure that git pushes all local heads as well as
all top-bases.

-- 
martin | http://madduck.net/ | http://two.sentenc.es/
 
it may look like i'm just sitting here doing nothing.
but i'm really actively waiting
for all my problems to go away.
 
spamtraps: madduck.bogus@madduck.net

```

## Fabien Thomas, 2009-01-27 07:23

Subject: Re: [topgit] shared topic branch
Message-ID: <111E5FDD-FC51-4DD2-9959-676003CD7A61@gmail.com>
URL: https://gitlist.dev/e/111E5FDD-FC51-4DD2-9959-676003CD7A61%40gmail.com
In-Reply-To: <20090126120049.GA9676@lapse.rw.madduck.net>

```
>> I'm testing topgit 0.5 in a shared env. (multiple user working on  
>> same
>> patch).
>
> Sorry for the late reply!
Thanks to reply :)
>
>
>> My problem is that when i want to push my local work i'm doing
>> "git  push" that will force update the remote branch. The problem
>> is that each time master is not up to date i will push my  entire
>> master or topic branch to the remote.
>
> I do not understand what you mean. Could yo please try to give us
> more detail? git push is intended to push all local changes to the
> remote, so I don't understand what your problem is.

I'm new to topgit and to git so maybe there is something i've  
misunderstood:

on the git side:
the + will overwrite all remote location branche named with that  
pattern ?

on topgit:
i'm just doing patches on two computer (home+work) and i'm pushing on  
a central repo to "backup/share my changes"
if i'm not up to date and i start a push with the "+" will overwrite  
the central repo with my local branch. (overwrite of my central repo  
master branch and my topics)

to "solve"  my problem i've replaced  the remote section with this:
[remote "origin"]
     url = ssh://git@xxx.com
     fetch = refs/heads/*:refs/remotes/origin/*
     fetch = refs/top-bases/*:refs/remotes/origin/top-bases/*
     push = refs/top-bases/*:refs/top-bases/*
     push = refs/heads/topic/*:refs/heads/topic/*

is it more clear?



```

## martin f krafft, 2009-01-30 10:15

Subject: Re: [topgit] shared topic branch
Message-ID: <20090130101530.GA20372@lapse.rw.madduck.net>
URL: https://gitlist.dev/e/20090130101530.GA20372%40lapse.rw.madduck.net
In-Reply-To: <111E5FDD-FC51-4DD2-9959-676003CD7A61@gmail.com>

```
also sprach Fabien Thomas <thomas.fabien@gmail.com> [2009.01.27.0823 +0100]:
> on the git side:
> the + will overwrite all remote location branche named with that pattern 
> ?

+ simply allows non-fast-forwards. See git-push(1). And that's on
the local side, not the remote. Which is what you want.

> if i'm not up to date and i start a push with the "+" will
> overwrite the central repo with my local branch. (overwrite of my
> central repo master branch and my topics)

please reproduce the problem and paste the complete transcript of
what you are doing: commands and output, as well as the output of
git branch -av before and after.

-- 
martin | http://madduck.net/ | http://two.sentenc.es/
 
"now, bring me that horizon."
                                               -- captain jack sparrow
 
spamtraps: madduck.bogus@madduck.net

```
