Amadeusz Żołnowski <aidecoe@xxxxxxxxxxxx> writes: > git-p4 can be successfully used from bare repository (which may act as a > bridge between Perforce repository and pure Git repositories). After > submitting changelist to Perforce, git-p4 performs unconditional rebase > which obviously fails. > > Perform rebase only on non-bare repositories, so submit command can be > successful on bare repository. It is obvious that an attempt to run rebase would fail in a bare repository, and skipping it would obviously make it not fail. I think that part is well understood. What is unclear is what the ramification of _not_ rebasing after submitting is. In other words, why do we have to rebase after submitting when we are in a non-bare repository? There must be a reason behind it, i.e. "If we do not rebase, then the repository would be in a state where future operations like X and Y do not work correctly because of Z". And why does that same reason Z not apply when we submit from a bare repository? A possible explanation might be that X and Y are operations that happen only in a non-bare repository that we do not have to worry about happening in a bare repository after we finish submitting. But these X, Y and Z are left unexplained--that is what is unclear in the original proposed log message, and it is still unclear in the above update. Thanks. > Signed-off-by: Amadeusz Żołnowski <aidecoe@xxxxxxxxxxxx> > --- > git-p4.py | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/git-p4.py b/git-p4.py > index c33dece..e00cd02 100755 > --- a/git-p4.py > +++ b/git-p4.py > @@ -2059,8 +2059,9 @@ class P4Submit(Command, P4UserMap): > sync.branch = self.branch > sync.run([]) > > - rebase = P4Rebase() > - rebase.rebase() > + if not gitConfigBool("core.bare"): > + rebase = P4Rebase() > + rebase.rebase() > > else: > if len(applied) == 0: -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html