git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Is this an acceptable workflow in git-svn, or a user error?
@ 2007-06-09 19:10 Junio C Hamano
  2007-06-09 19:38 ` Eric Wong
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2007-06-09 19:10 UTC (permalink / raw)
  To: Eric Wong; +Cc: git

Suppose you are interacting with svn://some.where/ and you want
to have a public git://my.svn/mirror.git maintained with your
effort for others to consume.  I am wondering if the following
workflow, especially the push part, is kosher.

----------------------------------------------------------------
0. Priming the process

$ (mkdir mirror.git && cd mirror.git && git init)

$ mkdir private.git && cd private.git && git init
$ git svn init svn://some.where/
$ git push ../mirror.git/ refs/heads/master:refs/heads/master

After this step, mirror.git would be in-sync with the SVN; we
haven't done any of our own development yet.

1. Hack away

$ edit/git-add/etc.
$ git commit

2. Publish the result

git push ../mirror.git/

3. Re-sync with SVN

$ git svn dcommit
----------------------------------------------------------------

I suspect that the above sequence is a user error, in that
re-syncing with SVN using git-svn (either dcommit or rebase)
would need to redo the commits to embed SVN metadata, but the
public mirror now has commits made with git without such
rewriting.  In other words, I suspect that "git push" should
never be done if you made changes on the git side since you
sync'ed with the SVN.

The reason I am asking is that somebody on #git got in a very
confusing situation.  After the Re-sync, "git push" to the
mirror would refuse because it is not a fast forward.  "git
fetch" from the mirror reveals that what after 3. is done, we
see two identically-looking commits, one that was pushed (before
re-sync with SVN) and the other (replaced because of re-sync)
are different.

If that is the case, then I presume that the correct workflow
would be:

1. Hack away
2. Re-sync with SVN
3. Publish the result; do not do anything between 2. and 3.

Is my understanding correct?

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-06-10  7:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-09 19:10 Is this an acceptable workflow in git-svn, or a user error? Junio C Hamano
2007-06-09 19:38 ` Eric Wong
2007-06-10  7:44   ` Sam Vilain
2007-06-10  7:49     ` Sam Vilain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).