From: Pete Wyckoff <pw@padd.com>
To: Ilya Dogolazky <ilya.dogolazky@nokia.com>
Cc: Luke Diamand <luke@diamand.org>, git@vger.kernel.org
Subject: Re: git-p4: commits are visible in history after 'git p4 clone', but not a single file present
Date: Tue, 12 Jun 2012 18:24:31 -0400 [thread overview]
Message-ID: <20120612222431.GA13427@padd.com> (raw)
In-Reply-To: <4FD70DEB.7040506@nokia.com>
ilya.dogolazky@nokia.com wrote on Tue, 12 Jun 2012 12:37 +0300:
> Hi Luke!
>
> > #!/bin/sh
> > export P4PORT=localhost:1234
> > mkdir db cli
> > ( cd db && p4d & )
> > sleep 2
> > ( cd cli && EDITOR=: p4 client && date >foo.c &&
> > p4 add foo.c && p4 submit -d 'x' )
> > git-p4 clone //depot@all
>
> I installed p4d on my machine and executed the above script.
> It works, the file foo.c is visible in the copy and one line patch
> is visible by "git log -p". Everything is fine!
>
> Then I realize, that the "git-p4" call in your script is
> communicating with the p4 daemon directly, which is much more simple
> setup than I tried to use before. Then I changed the clone command:
> instead of
> $ git p4 clone //kalma/xxx/yyy@all
> I now tried
> $ git p4 clone //xxx/yyy@all
> after setting P4PORT etc to point to the company's perforce server.
> And it worked!
Fascinating. So //kalma/xxx/yyy is a depot hosted in a p4d that runs
on your local box, but //xxx/yyy is the depot name hosted in
the company's p4d?
> Then I even tried
> $ git p4 clone //xxx@all
> And it worked too (creating a huge git repository with the whole project).
>
> Until today I tried to use the following setup: first clone the
> whole perforce repository with p4 command line client to my machine
> ('kalma' is its name) and then make a git repository by "git-p4
> clone" from this intermediate location (and it seems I did something
> wrong there: files were visible in the intermediate location after
> the first step, but not in the end location after git-p4). I read it
> somewhere in documentation claiming that it's the only way to use
> git-p4. But now I see, that it seems not to be necessary. Please
> clarify, is it okay to skip this intermediate location and use
> git-p4 in the same way as your script does?
I'm completely confused that //kalma/xxx/yyy even appeard to work
at all. Will be interested to see your P4PORT setting when using
that repo.
> And another question, probably connected to above: Now I did this:
> $ git p4 clone //xxx/yyy@all
> $ cd yyy/zzz
> $ edit readme.txt (which was already present there)
> $ git commit readme.txt
> $ git p4 rebase (Current branch master is up to date)
> $ git p4 submit
>
> That last step failed with following messages:
> Submitting change 20073
> ... //xxx/yyy/zzz/readme.txt - warning: cannot submit from
> non-stream client
> No files to submit.
> Submit failed -- fix problems above then use 'p4 submit -c 20073'.
Ooh. You're using the shiny new "streams" feature in p4,
I think. Can you play with "p4 stream" to see if one is
defined on //xxx or //xxx/yyy?.
Could be that the work-around is to use "p4 client" to
set the "Stream" field. This p4 forum post talks about
using "p4 client -s -S ...".
http://forums.perforce.com/index.php?/topic/1139-seeding-streams-from-existing-depots-failed/
which is explained at the bottom of this section:
http://www.perforce.com/perforce/doc.current/manuals/p4guide/06_codemgmt.html#1066766
If you can help us understand the problem a bit better,
a reasonable fix might be to detect this situation in
git-p4 and at least explain how to fix it. Since git-p4
does not create the client used for submit, we don't have
much control over its settings.
-- Pete
next prev parent reply other threads:[~2012-06-12 22:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-11 10:03 git-p4: commits are visible in history after 'git p4 clone', but not a single file present Ilya Dogolazky
2012-06-11 15:28 ` Luke Diamand
2012-06-11 19:16 ` Ilya Dogolazky
2012-06-11 22:46 ` Luke Diamand
2012-06-12 9:37 ` Ilya Dogolazky
2012-06-12 22:24 ` Pete Wyckoff [this message]
2012-06-13 6:58 ` Ilya Dogolazky
2012-06-13 12:56 ` Ilya Dogolazky
2012-06-13 18:00 ` Luke Diamand
2012-06-14 10:23 ` Ilya Dogolazky
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=20120612222431.GA13427@padd.com \
--to=pw@padd.com \
--cc=git@vger.kernel.org \
--cc=ilya.dogolazky@nokia.com \
--cc=luke@diamand.org \
/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;
as well as URLs for NNTP newsgroup(s).