git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Luke Diamand <luke@diamand.org>
Cc: Andrew Oakley <andrew@adoakley.name>, Git Users <git@vger.kernel.org>
Subject: Re: [PATCH v3] git-p4: recover from inconsistent perforce history
Date: Sun, 10 May 2020 10:01:59 -0700	[thread overview]
Message-ID: <xmqqsgg7u3js.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <CAE5ih793qKyOSE-hkOw7+nFmM3XTRxxrXv0FD2+WWXjGbVHkoQ@mail.gmail.com> (Luke Diamand's message of "Sun, 10 May 2020 13:03:11 +0100")

Luke Diamand <luke@diamand.org> writes:

> On Sun, 10 May 2020 at 11:17, Andrew Oakley <andrew@adoakley.name> wrote:
>>
>> Perforce allows you commit files and directories with the same name, so
>> you could have files //depot/foo and //depot/foo/bar both checked in.  A
>> p4 sync of a repository in this state fails.  Deleting one of the files
>> recovers the repository.
>>
>> When this happens we want git-p4 to recover in the same way as perforce.
>
> Looks good to me.
>
> Perforce changed their server to reject this kind of thing in the
> 2017.1 version:
>
>     Bugs fixed in 2017.1
>     #1489051 (Job #2170) **
>        Submitting a file with the same name as an existing depot
>        directory path (or vice versa) will now be rejected.
>
> (Of course people will still have damaged repos even today).

Perhaps it is worth describing the above in the log message?  E.g.

    Perforce allows you commit files and directories with the same name,
    so you could have files //depot/foo and //depot/foo/bar both checked
    in.  A p4 sync of a repository in this state fails.  Deleting one of
    the files recovers the repository.

    When this happens we want git-p4 to recover in the same way as
    perforce.

    Note that Perforce has this change in their 2017.1 version:

         Bugs fixed in 2017.1
         #1489051 (Job #2170) **
            Submitting a file with the same name as an existing depot
            directory path (or vice versa) will now be rejected.

    so people hopefully will not creating damaged Perforce repos
    anymore, but "git p4" needs to be able to interact with already
    corrupt ones.

    Signed-off-by: Andrew Oakley <andrew@adoakley.name>
    Reviewed-by: Luke Diamand <luke@diamand.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>

Thanks.

      parent reply	other threads:[~2020-05-10 17:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-10 10:16 [PATCH v3] git-p4: recover from inconsistent perforce history Andrew Oakley
2020-05-10 12:03 ` Luke Diamand
2020-05-10 14:13   ` Andrew Oakley
2020-05-10 17:01   ` Junio C Hamano [this message]

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=xmqqsgg7u3js.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=andrew@adoakley.name \
    --cc=git@vger.kernel.org \
    --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).