From: Junio C Hamano <junkio@cox.net>
To: Rajkumar S <rajkumars@asianetindia.com>
Cc: git@vger.kernel.org, Matthias Urlichs <smurf@smurf.noris.de>
Subject: Re: cvsimport woes
Date: Mon, 06 Mar 2006 21:34:39 -0800 [thread overview]
Message-ID: <7vek1e6cnk.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <440C68B9.9030305@asianetindia.com> (Rajkumar S.'s message of "Mon, 06 Mar 2006 22:22:09 +0530")
I've run your reproduction recipe and also looked at #git log
from yesterday.
Here is what I see immediately after the initial cvs import:
$ git show-branch
* [master] Initial revision
! [origin] Initial revision
! [start] Imported sources
---
+ [start] Imported sources
*++ [master] Initial revision
And here is what I get immediately after the second one:
$ git show-branch
* [master] v2.0
! [origin] v2.0
! [start] Imported sources
---
*+ [master] v2.0
+ [start] Imported sources
*++ [master^] Initial revision
$ git diff --cached --abbrev -r
:100644 100644 b8b933b... e251870... M file.txt
:100644 100644 b8b933b... e251870... M file1.txt
I think what is happening is that cvsimport updates origin and
master branch HEAD without updating the working tree. I am not
sure what the cvsimport command line you used is intended to do:
git cvsimport -v -k -u -m -d $CVSROOT -C git/ src
Specifically, what branch, if any, is used as the "tracking
branch" (i.e. stores the unmodified copy from CVS)? I presume
it is "origin", in which case, I would have expected to see
something like this instead.
$ git show-branch
* [master] Initial revision
! [origin] v2.0
! [start] Imported sources
---
+ [origin] v2.0
+ [start] Imported sources
*++ [master^] Initial revision
$ git diff --cached --abbrev -r
(empty)
Then I would understand what cvsimport author means by "it does
not do fast forward, you have to do it yourself". What it means
is that the import only updates the tracking branch but does not
update your working tree; merging the updates to the tracking
branch made from the foreign SCM into your working branch is
left for you to perform whenever it is convenient for you to do
(meaning, you may have some intermediate change in your master
branch in which case you would first commit them first and then
merge from CVS). And if that is they way cvsimport is intended
to be used, then you would at this point do:
$ git pull . origin
to do the fast forward.
I do not understand what cvsimport is trying to do here; I
_suspect_ the part that updates the "master" branch head might
be a bug.
Smurf, mind clarifying what is happening here for me please?
next prev parent reply other threads:[~2006-03-07 5:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-04 7:47 cvsimport woes Rajkumar S
2006-03-06 9:24 ` Martin Langhoff
2006-03-06 9:37 ` Martin Langhoff
2006-03-06 16:52 ` Rajkumar S
2006-03-07 3:06 ` Martin Langhoff
2006-03-07 5:34 ` Junio C Hamano [this message]
2006-03-07 9:08 ` [PATCH] cvsimport: Remove master-updating code smurf
2006-03-07 13:42 ` Rajkumar S
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vek1e6cnk.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=rajkumars@asianetindia.com \
--cc=smurf@smurf.noris.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox