[topgit] shared topic branch

4 messages, 2 authors, 2016-06-15 · open the first message on its own page

[topgit] shared topic branch

From: Fabien Thomas <hidden>
Date: 2016-06-15 22:45:48

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

Re: [topgit] shared topic branch

From: martin f krafft <hidden>
Date: 2016-06-15 22:46:02

also sprach Fabien Thomas [off-list ref] [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

Re: [topgit] shared topic branch

From: Fabien Thomas <hidden>
Date: 2016-06-15 22:46:02

quoted
I'm testing topgit 0.5 in a shared env. (multiple user working on  
same
patch).
Sorry for the late reply!
Thanks to reply :)
quoted
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?

Re: [topgit] shared topic branch

From: martin f krafft <hidden>
Date: 2016-06-15 22:46:04

also sprach Fabien Thomas [off-list ref] [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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help