git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-p4

From
Tor Arvid Lund <torarvid@gmail.com>
Date
Sep 11, 2010, 18:42 UTC
Message-ID
<AANLkTinmG5BU+yswWQ8=cRKT5WL_h8vWuUCu2PjZYb87@mail.gmail.com>
In-Reply-To
<20100910235323.773d2c5b@varda>
2010/9/10 Alejandro Riveira Fernández <ariveira@gmail.com>:
Show 15 quoted lines
> El Fri, 10 Sep 2010 15:54:16 -0400
> Kent Borg <kentborg@borg.org> escribió:
>
>  [ CCing git mailing list. Looks like a better place to ask this question]
>
>> I have a git-p4 question: I work in a Perforce shop and am doing Linux
>> kernel work, I need to share that work with colleagues who see the world
>> as a Perforce place.  The kernel I have came from Linus' tree and has a
>> lot of history.  When I try to do my first a "git p4 submit" it chokes
>> as it looks back in the entire git history until it fails looking for
>> the ancestor of the first commit (linux-2.6.12-rc2!), I think it is
>> looking for the last time it did a git-p4 submit so it knows how far
>> back to go--but it has never done a submit in this new relationship
>> between p4 and git.  There is plenty of git history that is not
>> reflected in p4, and I don't want it in p4, I just want new work in p4.

Yes, you are right in that git-p4 looks for the last point in history where p4 and git were "in sync".

>> I fear that git-p4 is for git people to contribute to bits natively
>> p4-homed code, not this case where the code is natively git-homed code
>> and it is the p4 people who will be contributing bits.
This is also correct, I'd say.
Show 6 quoted lines
>> My attempt at a work around was this:
>>
>>  - create a director on the p4 side, and from the p4 side submit the
>> files that match my latest git submit.
>>
>>  - sync with git-p4
This is how I would do it too...
>>  - try to submit a file with git-p4...and that fails as it runs all the
>> way back through the history.  (Thank goodness it didn't succeed in
>> submitting kernel activity since 2005!)

Well, when you did the "sync with git-p4", did it create a branch in refs/remotes/p4/master or something like that? I think that's generally how it solves the issue of knowing what to submit to p4; On the git side you have a number of commits that you _don't_ want to submit, and the most recent of these commits should have a log message that ends with:

[git-p4: depot-paths = "//Path/To/Your/Project/": change = 30049]

.. where the 'change' number is the number of the perforce changelist you synced using git-p4.

So - work that you want to submit to p4 should be rebased on top of such a commit. Then it should work to do git-p4 submit.

-Tor Arvid-
Previous: Alejandro Riveira FernándezNext: Kent Borg
Message 2 of 14 in “Re: git-p4”
  1. Alejandro Riveira FernándezSep 10, 2010
  2. Tor Arvid LundSep 11, 2010
  3. Kent BorgSep 12, 2010
  4. Tor Arvid LundSep 12, 2010
  5. Kent BorgSep 12, 2010
  6. Tor Arvid LundSep 12, 2010
  7. Kent BorgSep 12, 2010
  8. Tor Arvid LundSep 12, 2010
  9. Kent BorgSep 13, 2010
  10. Tor Arvid LundSep 13, 2010
  11. Kent BorgSep 13, 2010
  12. Tor Arvid LundSep 13, 2010
  13. Kent BorgSep 16, 2010
  14. Tor Arvid LundSep 16, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.