Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"commit stack. This is usually because of a botched "
"rebase. Please take a look at your git log and seek "
"help from your local Git expert.".format(number))
self.seen_ghnums.add(ghnum)
logging.info("Pushing to #{}".format(number))
# Compute the local and remote source IDs
summary = commit.summary
m_local_source_id = RE_GHSTACK_SOURCE_ID.search(summary)
if m_local_source_id is None:
# For BC, just slap on a source ID. After BC is no longer
# needed, we can just error in this case; however, this
# situation is extremely likely to happen for preexisting
# stacks.
logging.warning(
"Local commit has no ghstack-source-id; assuming that it is "
"up-to-date with remote.")
summary = "{}\nghstack-source-id: {}".format(summary, commit.source_id)
else:
local_source_id = m_local_source_id.group(1)
if elab_commit.remote_source_id is None:
# This should also be an error condition, but I suppose
# it can happen in the wild if a user had an aborted
# ghstack run, where they updated their head pointer to
# a copy with source IDs, but then we failed to push to
# orig. We should just go ahead and push in that case.
logging.warning(
"Remote commit has no ghstack-source-id; assuming that we are "
"up-to-date with remote.")
else:
if local_source_id != elab_commit.remote_source_id and not self.force:
# needed, we can just error in this case; however, this
# situation is extremely likely to happen for preexisting
# stacks.
logging.warning(
"Local commit has no ghstack-source-id; assuming that it is "
"up-to-date with remote.")
summary = "{}\nghstack-source-id: {}".format(summary, commit.source_id)
else:
local_source_id = m_local_source_id.group(1)
if elab_commit.remote_source_id is None:
# This should also be an error condition, but I suppose
# it can happen in the wild if a user had an aborted
# ghstack run, where they updated their head pointer to
# a copy with source IDs, but then we failed to push to
# orig. We should just go ahead and push in that case.
logging.warning(
"Remote commit has no ghstack-source-id; assuming that we are "
"up-to-date with remote.")
else:
if local_source_id != elab_commit.remote_source_id and not self.force:
raise RuntimeError(
"Cowardly refusing to push an update to GitHub, since it "
"looks another source has updated GitHub since you last "
"pushed. If you want to push anyway, rerun this command "
"with --force. Otherwise, diff your changes against "
"{} and reapply them on top of an up-to-date commit from "
"GitHub.".format(local_source_id))
summary = RE_GHSTACK_SOURCE_ID.sub(
'ghstack-source-id: {}\n'.format(commit.source_id),
summary)
# We've got an update to do! But what exactly should we