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

Re: [PATCH] git-p4.py: Make submit working on bare repository

From
Amadeusz Żołnowski <aidecoe@aidecoe.name>
Date
Feb 20, 2016, 11:00 UTC
Message-ID
<87fuwnd4u7.fsf@freja.aidecoe.name>
In-Reply-To
<xmqq7fi0b9rt.fsf@gitster.mtv.corp.google.com>
Hi Junio,

To submit changes from master branch to Perforce, new commits should be based on a remote branch p4/master:

(1)
                  E'---F' master
                 /
    A---B---C---D p4/master

Commits from A to D map to Perforce changelists. These commits include additional metadata in commit message which most important is changelist number.

On submit git-p4 prepares changelists for commits E'-F' and submits these to Perforce repository. After this operation it syncs back remote branch p4/master. This is the common part for both bare and non-bare repository.

(2)
                  E'---F' master
                 /
    A---B---C---D---E---F p4/master

In non-bare repository git rebase is performed and it results in following state:

(3)
    A---B---C---D---E---F p4/master, master

In bare repository this operation cannot be performed, so it remains in state (2).

With special care state (2) can be transformed to state (3) with manual update of refs/heads/master with refs/remotes/p4/master.

I understand that implementing rebase for bare repository is unsafe and it wouldn't be appreciated. Therefore we have to resort to such a barbarity and git-p4 submit shouldn't attempt to perform a rebase operation itself. Especially because it performs other operations before and we end up in the intermediate state (2) anyway.

Is this explanation satisfactory? If yes, I'll include it in patch description.

Kind regards,
-- 
Amadeusz Żołnowski
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 20 in “git-p4.py: Don't try to rebase on submit from bare repository”
  1. git-p4.py: Don't try to rebase on submit from bare repositoryAmadeusz Żołnowski, Feb 17, 2016
  2. Luke DiamandFeb 19, 2016
  3. Junio C HamanoFeb 19, 2016
  4. git-p4.py: Don't try to rebase on submit from bare repositoryAmadeusz Żołnowski, Feb 19, 2016
  5. Eric SunshineFeb 19, 2016
  6. git-p4.py: Make submit working on bare repositoryAmadeusz Żołnowski, Feb 19, 2016
  7. Junio C HamanoFeb 19, 2016
  8. Amadeusz ŻołnowskiFeb 20, 2016
  9. Junio C HamanoFeb 21, 2016
  10. Amadeusz ŻołnowskiFeb 22, 2016
  11. Junio C HamanoFeb 23, 2016
  12. Luke DiamandFeb 23, 2016
  13. Amadeusz ŻołnowskiFeb 23, 2016
  14. Luke DiamandFeb 28, 2016
  15. Amadeusz ŻołnowskiFeb 28, 2016
  16. Luke DiamandFeb 29, 2016
  17. Junio C HamanoApr 12, 2016
  18. Amadeusz ŻołnowskiApr 13, 2016
  19. Junio C HamanoApr 13, 2016
  20. Amadeusz ŻołnowskiJun 7, 2016

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.