git push rejected due being behind after git svn dcommit without any changes local/remote

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

git push rejected due being behind after git svn dcommit without any changes local/remote

From: Henning Sprang <hidden>
Date: 2016-06-15 23:01:17

Hi,

I have a client that still uses svn, but I decided to version my work
on the project with git locally - using git svn to sync the svn and my
local git repo.

To have a backup , I additionally push my changes to a remote git repository.

Now, many(maybe every) times when doing the git push to the remote git
repository, after having done an svn dcommit to sync to the remote
svn, the push gets rejected:

"... Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart...."

You'd say, can happen, when some developers work against the remote
git repo, others with svn. But I'm the only developer on the project,
and no one ever commits to the remote svn nor the remote git repo. So,
I'm clueless.

How can I find out what happens and how to prevent that?

Thanks in advance,
Henning

-- 
Henning Sprang
http://www.sprang.de

Re: git push rejected due being behind after git svn dcommit without any changes local/remote

From: Thomas Ferris Nicolaisen <hidden>
Date: 2016-06-15 23:01:17

On Wed, May 21, 2014 at 6:13 PM, Henning Sprang
[off-list ref] wrote:
You'd say, can happen, when some developers work against the remote
git repo, others with svn. But I'm the only developer on the project,
and no one ever commits to the remote svn nor the remote git repo. So,
I'm clueless.

How can I find out what happens and how to prevent that?
This is normal. Every time you update or sync against the SVN server,
your local history is rewritten if you have local commits: All your
local commits are rebased on top of the latest changes coming from
SVN.

If you want to avoid this, only push to your Git mirror when your
git-svn clone and the SVN repo are in sync. Doing so ruins the whole
point of your Git mirror, I assume.

So, I'm afraid you have to get used to just force-pushing to your Git
mirror. Even though this is not considered good practice, it should be
fine as long as you are the only one using this mirror.

Alternatively, you could consider some other mechanism for backup (rsync, etc).

Re: git push rejected due being behind after git svn dcommit without any changes local/remote

From: Henning Sprang <hidden>
Date: 2016-06-15 23:01:18

Hi Thomas,

On Wed, May 21, 2014 at 10:33 PM, Thomas Ferris Nicolaisen
[off-list ref] wrote:
This is normal. Every time you update or sync against the SVN server,
your local history is rewritten if you have local commits: All your
local commits are rebased on top of the latest changes coming from
SVN.

If you want to avoid this, only push to your Git mirror when your
git-svn clone and the SVN repo are in sync. Doing so ruins the whole
point of your Git mirror, I assume.
Thanks for the explanation so far!
So, I'm afraid you have to get used to just force-pushing to your Git
mirror. Even though this is not considered good practice, it should be
fine as long as you are the only one using this mirror.
OK, as you correctly assume, for this case it's pretty much fine, I
was just thinking I'm doing something stupid, and wanted to learn how
to do it correctly in case I'll have an actual use case where changes
appear on both sides - but then again, maybe that should then also be
avoided by a more reasonable versioning setup(e.g. throwing out SVN
completely :) )
Alternatively, you could consider some other mechanism for backup (rsync, etc).
I do anyway. I just love to have multiple backups in multiple
locations and formats, just to see them all fail differently in a real
emergency case :)

Cheers,
Henning


-- 
Henning Sprang
http://www.sprang.de
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help