git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).